Base64编码说明

  Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。

  为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。

  例如,字符“A95”,将3个字符分别转成ASC II码:65 57 53,二进制为:01000001 00111001 00110101,转成6个一组后为:010000 010011 100100 110101,由于计算机是8位存储,6位不够位数,则在高位补0,于是变成了:00010000 00010011 00100100 00110101。转回十进制后得到: 16 19 36 53,查阅“Base64编码表”(见下方)得到:QTk1。即最终的Base64编码值。


Base64编码表

编码 编码 编码 编码
0A16Q32g48w
1B17R33h49x
2C18S34i50y
3D19T35j51z
4E20U36k520
5F21V37l531
6G22W38m542
7H23X39n553
8I24Y40o564
9J25Z41p575
10K26a42q586
11L27b43r597
12M28c44s608
13N29d45t619
14O30e46u62+
15P31f47v63/

作为图片的使用方法

  CSS:background-image: url("data:image/jpg;base64,/9j/4QMZRXhpZgAASUkqAAgAAAAL....");

  HTML:<img src="data:image/jpg;base64,/9j/4QMZRXhpZgAASUkqAAgAAAAL...." />