Base64:一种最常见的二进制到字符串的转换(编码)方法
首先建立一个由64个字符组成的数组(表),6个二进制位可以正好完全索引这64个字符(0~63)
每3个字节的二进制数据对应4个字符,其对应关系由查表所得
所以,Base64编码会把3字节的二进制数据编码为4字节的文本数据(字符),这些文本数据可以在邮件、网页直接显示
有意思的是,如果要编码的二进制数据字节数不是3的倍数,最后会剩下1个或2个字节怎么办?
Base64用\x00字节在末尾补足后,再在编码的末尾加上1个或2个=号,表示补了多少字节,解码的时候,会自动去掉。
首先建立一个由64个字符组成的数组(表),6个二进制位可以正好完全索引这64个字符(0~63)
每3个字节的二进制数据对应4个字符,其对应关系由查表所得
所以,Base64编码会把3字节的二进制数据编码为4字节的文本数据(字符),这些文本数据可以在邮件、网页直接显示
有意思的是,如果要编码的二进制数据字节数不是3的倍数,最后会剩下1个或2个字节怎么办?
Base64用\x00字节在末尾补足后,再在编码的末尾加上1个或2个=号,表示补了多少字节,解码的时候,会自动去掉。