3个字节 转成 4个字节,编码后体积比原来大1/3,编码后的二进制数据要根据base64字符表来显示字符串
过程: 3个字节24位,分为4组,一组6位,用0填充高的两位,成为4个字节,那么00xxxxxx就可以表示64个字符,就是base64,由26个小写字母+26个大写字母+10个数字(0-9)以及+和/组成.如果源数据不够3的倍数,则规则,后用等号=填充至是3的倍数
window.btoa(string),base64编码
在JavaScript中, btoa() 就是base64编码的api,支持Latin-1编码(8位单字节,扩展了ASCII),由于中文utf-8不在Latin-1里面,所以不能直接用btoa编码中文
window.atob(base64Str),base64解码
// btoa:bianry to ascii 编码,二进制转ASCII字符
// atob:ascii to binary 解码,ASCII字符转二进制
// base64字符串的长度是4的倍数
btoa('a')//'YQ=='
atob('YQ==')//'a'