Base64编码是使用64个可打印ASCII字符(A-Z、a-z、0-9、+、/)将任意“字节序列”数据编码成ASCII字符串,另有“=”符号用作后缀用途。
因此,Base64不但可以处理常见的文本信息,也可以用于处理二进制数据。
Base64的编码规则如下:
- 将整个字节序列转换为一长串二进制数;
- 按6bit进行分组;
- 如果最后一组的长度不足6bit,则在最后补0,直到长度达到6bit;
- 然后依据索引表,将6bit组转换为对应的ASCII字符。
Base64 索引表
(注:表中的数值为十进制)
例子:
十六进制数据:FD FA 8E A5 45 55 A5 E4(共8字节)
转换为二进制:1111110111111010 1000111010100101 0100010101010101 1010010111100100
按6bit分组:111111-011111-101010-001110-101001-010100-010101-010101-101001-011110-0100【00】(方括号内是在最低位补充的2bit 0)
查表转换为ASCII字符:/fqOpUVVpeQ=(共11个字符,等于号是后缀)
更多内容参考: