具体转换步骤
- 第一步,将待转换的字符串每三个字节分为一组,每个字节占8bit,那么共有24个二进制位。
- 第二步,将上面的24个二进制位每6个一组,共分为4组。
- 第三步,在每组前面添加两个0,每组由6个变为8个二进制位,总共32个二进制位,即四个字节。
- 第四步,根据Base64编码对照表获得对应的值。
实例演示:AbC
- A,b,C,对应的ASCII编码分别为65,98,67
- 对应的二进制为,0100 0001,0110 0010,0100 0011
- 对其进行拆分,每6个为一组,并且前边两位补零,每组8个二进制位,然后得到转换为十进制
- 0001 0000 对应 16
- 0001 0110 对应 22
- 0000 1001 对应 9
- 0000 0011 对应 3
- 根据Base64编码对照表获得对应的值
- 16 对应 Q
- 22 对应 W
- 9 对应 J
- 3 对应 D
- 所以最终结果为 QWJD
实例演示二:字节数不足三个
例:A
- 在拆分补零这个步骤时,可以看到只有一个字节的时候,8位二进制拆分,只能是6+2的情况,所以此时需要把后边也补零,凑齐8位
- 由于base64编码的规则是每三个字节拆分成四组,但只有一个字节的时候,只能拆分出两组来,所以需要把剩下的两组用“=”代替
- 所以A对应的base64为QQ==