Base64编码
Base64是一种用64个字符来表示任意二进制数据的方法。Base64的原理很简单,首先准备一个包含64个字符的数组,然后对二进制数据进行处理,每3个字节一组,划分为4组,每组6个bit。这样可以得到4个数字作为索引,然后查表获得相应的4个字符,这就是编码后的字符串。所以Base64编码会将3字节的二进制数据编码为4字节的文本数据,长度增加33%,但好处是编码后的文本可以在邮件正文、网页等位置直接显示。如果要编码的二进制数据不是3的倍数,Base64会使用\x00
字节在末尾补足后,再在编码的末尾加上1个或2个=号,表示补了多少字节,解码时会自动去掉。
Python内置的base64
可以直接进行Base64的编解码。
import base64
base64.b64encode(b'binary\x00string')
base64.b64decode(b'YmluYXJ5AHN0cmluZw==')