Base54算法使用了单表置换算法的思想,Base64使用一个由64个字符组成的映射表。
1、将给定的字符串转换成对应的字符编码(如GBK、UTF-8)
2、将该字符编码转换成二进制码
3、对获得的二进行码进行分组操作
(1)每3个字节(8位二进制)为一组,一共24个二进制位。
(2)将这个24个进制位分成4组,每个组有6个二进制位,不足6位的,后面补0.(2的6次方=64)
(3)在每个组前面加两个0,这样每组就又变成了8位,即每个组一个字节,4个组就4个字节了。
(4)根据Base64的转码表找到每个字节对应的符号,这个符号就是Base64的编码值。
经过Base64编码后的字符数一定是4的整数倍,如果得到的字符数不为4的整数倍,则后面使用等号“=”补足。
举一个中文utf-8编码的例子:
(1)“严”的utf-8编码为E4B8A5
(2)写成二进制 “11100100 10111000 10100101”
(3)转换成四组“00111001 00001011 00100010 00100101”
(4)相应的十进制数为57、11、34、37
(5)所以,此字的编码为5Lil