您当前的位置:首页 > 计算机 > 编程开发 > Python

Python标准库base64用法简介

时间:12-25来源:作者:点击数:

base64模块提供了大量函数用来把二进制数据编码为可打印的ASCII字符,以及将其解码为二进制数据。提供了RFC3548中Base16、Base32、Base64以及事实标准Ascii85和Base85编码与解码算法的实现。

RFC3548编码规则适合对二进制数据进行编码以使其可以通过email安全传输,作为URL的一部分,或者包含在HTTP POST请求中,编码算法与uuencode程序并不一样。该模块提供了两个接口,支持将字节串对象编码为ASCII字节,以及进行相反的解码,支持RFC3548中定义的全部base-64字母。

base64.b64encode(s, altchars=None)

对字节串对象s进行编码,返回编码后的字节串,可选参数altchars必须是长度至少为2的字节串对象(额外的字符将被忽略),用来指定+和/字符的替换字母,允许应用程序生成URL或者文件系统的安全Base64字符串。altchars默认值为None,使用标准的Base64字母。

base64.b64decode(s, altchars=None, validate=False)

对Base64编码的字节串对象进行解码。

base64.standard_b64encode(s)

使用标准Base64字母对字节串s进行编码。

base64.standard_b64decode(s)

使用标准Base64字母对字节串进行解码。

base64.urlsafe_b64encode(s)

使用URL和文件系统安全的字母对字节串进行编码,把+替换为-,/替换为_,结果中仍包含=。

base64.urlsafe_b64decode(s)

使用URL和文件系统安全的字母对字节串进行编码,把+替换为-,/替换为_。

base64.b32encode(s)

使用Base32对字节串s进行编码。

base64.b32decode(s, casefold=False, map01=None)

对Base32编码的字节串进行解码,可选参数casefold用来标记是否接收小写字母作为输入。RFC3548允许数字0到字母O的映射,以及数字1到字母I或L的映射。当可选参数map01不是None时用来指定数字1映射为什么字母(此时数字0总是会被映射为字母O),当默认为None时输入中不允许包含数字0和1。

base64.b16encode(s)

使用Base16对字节串进行编码。

base64.b16decode(s, casefold=False)

使用Base16对字节串进行解码。

base64.a85encode(b, *, foldspaces=False, wrapcol=0, pad=False, adobe=False)

使用Ascii85对字节串进行编码,返回编码后的字节串。

base64.a85decode(b, *, foldspaces=False, adobe=False, ignorechars=b' \t\n\r\v')

对Ascii85编码的字节串进行解码。

base64.b85encode(b, pad=False)

使用base85对字节串s进行编码。

base64.b85decode(b)

对base85编码的字节串进行解码。

base64.encode(input, output)

对二进制文件对象input进行编码并写入文件对象output,每76个字节插入一个换行符b'\n',并保证output总是以换行符结束。

base64.decode(input, output)

对二进制文件对象input进行编码并写入文件对象output。

base64.encodebytes(s)

对包含任意二进制数据的字节串进行编码,返回包含base64编码的字节串,每76个字节插入一个换行符b'\n',并且保证以换行符结束。

base64.decodebytes(s)

对包含一行或多行base64编码数据的字节串s进行解码,返回解码的字节串。

>>> import base64

>>> s = '《Python可以这样学》(董付国 著,清华大学出版社)'

>>> base64.b64encode(s.encode())

b'44CKUHl0aG9u5Y+v5Lul6L+Z5qC35a2m44CL77yI6JGj5LuY5Zu9IOiRl++8jOa4heWNjuWkp+WtpuWHuueJiOekvu+8iQ=='

>>> base64.b64decode(_).decode()

'《Python可以这样学》(董付国 著,清华大学出版社)'

>>> base64.b85encode(s.encode())

b'<A91#d30!RZsm`!<h!NlznSKsx8<#-<A96ryol(LqvX4o<(s`A=#iK2yo~0!h2@Qo<)o+Ot)}INy61_A=cK;xyom'

>>> base64.b85decode(_).decode()

'《Python可以这样学》(董付国 著,清华大学出版社)'

>>> base64.encodebytes(s.encode())

b'44CKUHl0aG9u5Y+v5Lul6L+Z5qC35a2m44CL77yI6JGj5LuY5Zu9IOiRl++8jOa4heWNjuWkp+Wt\npuWHuueJiOekvu+8iQ==\n'

>>> base64.decodebytes(_).decode()

'《Python可以这样学》(董付国 著,清华大学出版社)'

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门