1、Base64编码说明

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

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

2、Base64编码表

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

3、Base64编码使用

(1)  使用不够三个字节的编码

例如:加密bs (ASCII码 b 十六进制62   s 十六进制为73)

换算二进制 : 0110 0010   0111 0011

不够三个字节的用0补全 0110 0010 0111 0011 0000 0000

转化成6个自己模式 011000 100111 001100 000000

查找base64编码表分别对应 YnM=

(2)  使用大于或等于三个字节的编码

例如:加密asd (ASCII码 a 十六进制61   s 十六进制为73   d十六进制为64)

换算二进制 : 0110 0001 0111 0011 0110 0100

转化成6个自己模式 011000 010111 001101 100100

查找base64编码表分别对应 YXNk

05-27 08:38