Base64要求把每三个8Bit的字节转换为四个6Bit的字节,然后把6Bit再添两位高位0,组成四个8Bit的字节。

比如字符445,转换成base64之后为NDQ1

下面具体解析是如何转换的:

4和5的ASCII码分别为52,53。
其中52= 32+16+4= 2^5+2^4+2^2 其对应的二进制码为 0011 0100
53=32+16+4+1=2^5+2^4+2^2 +2^0 其对应的二进制码为 0011 0101
故445对应的字节码为 00110100 00110100 00110101
将其转换为6bit的字节,变成001101,000011,010000,110101
再转成前面分别添加两位00的字节码变成
00001101,00000011,00010000,00110101
其对应的值分别为13,3,16,53。
根据BASE64转换表可得分别对应为 N,D,Q,1
故转换后的base编码为NDQ1