BASE编码的作用
在HTTP传输中,传输的数据有各自的编码格式,而且容易互相干扰,但是base不含任何的控制字符,不易干扰,且编码效率更高,base64意为64进制字符串,每位有64个字符
BASE16
编码后的字符只会在(0-9,A-F)(共16个)中出现,编码后的字符为源字符的两倍,4个bit一组,而1字节8bit,所以base16不可能用到等号填充。
BASE32
编码后的字符只会在大写字母(A-Z)和数字234567 32个字符组成,因为base32 5bit为一组,所以编码长度必须是40bit的倍数(5和8的最小公倍数)
因为必须为40bit的倍数,所以如果不足的话,会在第一个不满足5bit的小组进行补0,然后进行编码,在结果补上占位符=,一个等号5bit,最多出现6个0 1 3 4 6
BASE64
编码后的字符只会在A-Z a-z 0-9(共62个)另外加上+/两个符号。3个字节由4个base64单元来表示,很高的编码效率了。
如果要编码的字节数不能被3整除,最后会多出1个或2个字节,则用占位符= (一个代表一个字节)所以最多出现两个等号。