base64模块提供了在二进制数据和可打印ASCII字符间编解码的功能,包括RFC3548中定义的Base16, Base32, Base64, Ascii85, Base85等编码。html
RFC3548中定义的编码适用于将二进制数据编码后,在邮件、URL、HTTP POST请求中安全地传递数据。编码算法不一样于uuencode program??python
python3.4及以后的版本支持两种接口:算法
对类字节对象s进行Base64编码,返回编码后的字节序列。安全
可选参数altchars必须是2个长度的类字节对象,分别替换编码结果中的'+'和'/'字符。可应用于生成安全的URL或文件系统Base64编码场景中。编码
对使用Base64编码生成的类字节对象或纯ASCII字符组成的Unicode字符串s进行Base64解码,返回解码后的字节序列。url
可选参数altchars必须是2个长度的类字节对象或纯ASCII字符组成的Unicode字符串,分别将s中对应的字符替换为'+'和'/'。spa
若是s未能正确填充(s的长度必须是4的整数倍数),抛出binascii.Error
.code
若是validate的值是False,s中的非法字符(既不是标准base-64码表中的字符,又不是某些容许的可选字符)将在填充检查前丢弃。若是validate的值是True,s存在非法字符将抛出binascii.Error
.htm
对类字节对象s进行标准Base64编码,返回编码后的字节序列。等同于b64encode(s)对象
对类字节对象或纯ASCII字符组成的Unicode字符串s进行标准Base64解码,返回解码后的字节序列。等同于b64decode(s)
对类字节对象s进行安全的URL及文件系统Base64编码,替换标准Base64编码中的'+'为'-', '/'为'_',返回编码后的字节序列
对类字节对象或纯ASCII字符组成的Unicode字符串s进行URL及文件系统Base64解码,返回解码后的字节序列
base64.b32encode(s) base64.b32decode(s, casefold=False, map01=None) base64.b16encode(s) base64.b16decode(s, casefold=False) base64.a85encode(b, *, foldspaces=False, wrapcol=0, pad=False, adobe=False) base64.a85decode(b, *, foldspaces=False, adobe=False, ignorechars=b' \t\n\r\v') base64.b85encode(b, pad=False) base64.b85decode(b)