序言:
1、Base64将一段二进制数据转换成由64个字符组成的字符集合。
2、在使用Base64编码后,数据长度会比原始数据长。
3、Base64按每3个字节的方式进行编码,不足3字节时用0填充,直到其位数能够被6整除。
4、Base64编码后的字符数是4的倍数,不足时使用指定字符(通常是“=”)进行填充。
关于Base64起源等其它信息,请自行百度,本文主要讲述Base4编码与解码过程。
编码:
1、将字符串每三个字节分为一组,每个字节8bit,共24bit。
2、将24bit分为4组,每组6bit。
3、将每组用0补齐为8bit,4组共32bit。
4、将结果用做Base64编码对照表下标,获取对应值。
5、只有1个字节时补齐4位,共12bit。
分为2组,每组6bit。
每组用0补齐为8bit,共16bit。
将结果用做Base64编码对照表下标,获取对应值,编码后的字符数是4的倍数,不足时使用指定字符(通常是“=”)进行填充。
6、只有2个字节时补齐2位,其它同上。
解码:
1、获取字符在Base64编码对照表中的下标,4字节,共32bit。
2、去除每组补0,分为4组,每组6bit,共24bit。
3、将24bit分为3组,每组8bit。
4、按照ASCII码表获取对应字符后,即解密。