介绍 Base64 编码 Base64 是一种使用 64 个可打印字符来表示二进制数据的编码方式。 Base64 中的 64 个可打印字符包括:大小写字母 a - z、阿拉伯数字 0 - 9,这样共有 62 个字符,另外两个可
介绍 Base64 编码
Base64 是一种使用 64 个可打印字符来表示二进制数据的编码方式。
Base64 中的 64 个可打印字符包括:大小写字母 a - z、阿拉伯数字 0 - 9,这样共有 62 个字符,另外两个可打印字符在不同的系统中而不同。RFC 4648 标准中,另外两个可打印字符是:加号 + 、斜线 /。Base64 使用等号 = 作为填充字符。
技术是为了解决问题而生的,Base64 编码的作用是:使用 64 个可打印字符来表示二进制数据,以便二进制数据在计算机中存储、通过网络传输。
Base64 编码的规则
Base64 编码的规则是:
- 首先,将二进制数据中每 “三组 8 个二进制位” 重新分组为 “四组 6 个二进制位”;
- 然后,每组的 6 个二进制位用一个十进制数来表示。6 个二进制位可表示的十进制数的范围是 0 - 63;
- 接下来,根据 Base64 索引表,将每组的十进制数转换成对应的字符,即每组可以用一个可打印字符来表示;
"Man" 的 Base64 编码结果为 "TWFu",详细原理如下:
Base64 编码将 3 个字节编码为 4 个字符。如果要编码的字节数不能被 3 整除,最后会多出 1 个或 2 个字节,那么可以使用下面的方法进行处理:
- 先使用 0 字节值在末尾补足,使字节数能够被 3 整除,然后再进行 Base64 编码。
- 在 Base64 编码结果的末尾加上一个或两个等号 =,代表补足的字节数。
举例说明,最后剩余两个字节待补足:
举例说明,最后剩余一个字节待补足:
Base64 索引表
RFC 4648 标准的 Base64 索引表
十进制 二进制 字符 十进制 二进制 字符 十进制 二进制 字符 十进制 二进制 字符 000000 A 16 010000 Q 32 100000 g 48 110000 w 1 000001 B 17 010001 R 33 100001 h 49 110001 x 2 000010 C 18 010010 S 34 100010 i 50 110010 y 3 000011 D 19 010011 T 35 100011 j 51 110011 z 4 000100 E 20 010100 U 36 100100 k 52 110100 5 000101 F 21 010101 V 37 100101 l 53 110101 1 6 000110 G 22 010110 W 38 100110 m 54 110110 2 7 000111 H 23 010111 X 39 100111 n 55 110111 3 8 001000 I 24 011000 Y 40 101000 o 56 111000 4 9 001001 J 25 011001 Z 41 101001 p 57 111001 5 10 001010 K 26 011010 a 42 101010 q 58 111010 6 11 001011 L 27 011011 b 43 101011 r 59 111011 7 12 001100 M 28 011100 c 44 101100 s 60 111100 8 13 001101 N 29 011101 d 45 101101 t 61 111101 9 14 001110 O 30 011110 e 46 101110 u 62 111110 + 15 001111 P 31 011111 f 47 101111 v 63 111111 / 填充 =参考资料
Base64 - 维基百科,自由的百科全书 (wikipedia.org)