特点:
1、速度非常快。
2、能够将字符串A转换成字符串B,而且如果你光看字符串B,是绝对猜不出字符串A的内容来的。
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一
Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。
从前到后,每六个二进制加00.变成4个字节的编码….
根据base64 alphabet 进行查询.
转换前 |
10101101 |
10111010 |
01110110 | |
转换后 |
00101011 |
00011011 |
00101001 |
00110110 |
十进制 |
43 |
27 |
41 |
54 |
对应码表中的值 |
r |
b |
p |
2 |
原文的字节数量应该是3的倍数啊,如果这个条件不能满足的话,那该怎么办呢?
答:
原文的字节不够的地方可以用全0来补足,转换时Base64编码用=号来代替。
但等号最多只有两个.
因为:余数 = 原文字节数 MOD 3
余数任何情况下都只可能是0,1,2这三个数中的一个。如果余数是0的话,就表示原文字节数正好是3的倍数(最理想的情况啦)。如果是1的话,为了让Base64编码是4的倍数,就要补2个等号;同理,如果是2的话,就要补1个等号。