前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python标准库base64用法简介

Python标准库base64用法简介

作者头像
Python小屋屋主
发布2018-04-17 10:38:08
7K1
发布2018-04-17 10:38:08
举报
文章被收录于专栏:Python小屋Python小屋

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可以这样学》(董付国 著,清华大学出版社)'

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档