Python3内置模块之base64编解码方法小结

Python3内置模块之base64编解码方法小结

概述

Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来表示二进制数据的方法。可查看 RFC2045 ~ RFC2049,上面有 MIME 的详细规范。Base64 编码是从二进制到字符的过程,可用于在 HTTP 环境下传递较长的标识信息。比如使二进制数据可以作为电子邮件的内容正确地发送,用作 URL 的一部分,或者作为 HTTP POST 请求的一部分. 即 base64 其实不能归属密码领域,作用也不是用于加密,它是一种编码算法,但是具有不可读性,所以可以说是防君子不防小人。

方法

概述

b64encode(s, altchars=None)

对 bytes-like object s 进行 Base64 编码,并返回编码后的 bytes

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

解码 Base64 编码过的 bytes-like object 或 ASCII 字符串 s 并返回解码过的 bytes

standard_b64encode(s)

编码 bytes-like object s,使用标准 Base64 字母表并返回编码过的 bytes

standard_b64decode(s)

解码 bytes-like object 或 ASCII 字符串 s,使用标准 Base64 字母表并返回编码过的 bytes

urlsafe_b64encode(s)

编码 bytes-like object s,使用 URL 与文件系统安全的字母表,使用 - 以及 _ 代替标准 Base64 字母表中的 +和 /,返回编码过的 bytes,结果中可能包含 =

urlsafe_b64decode(s)

解码 bytes-like object 或 ASCII 字符串 s,使用 URL 与文件系统安全的字母表,使用 - 以及 _ 代替标准 Base64 字母表中的 + 和 /,返回解码过的 bytes

...

...

简单使用

我们最常用的两个方法即b64encodeb64decode-Base64 编码和解码,其中 b64encode 的参数 s 的类型必须是字节包(bytes)。b64decode 的参数 s 可以是字节包(bytes),也可以是字符串(str)。

Base64 编码

S = b'I like Python'
e64 = base64.b64encode(S)
print(e64)

示例结果:

b'SSBsaWtlIFB5dGhvbg=='

Base64 解码

S = 'SSBsaWtlIFB5dGhvbg=='
d64 = base64.b64decode(S)
print(d64)

示例结果:

b'I like Python'

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏复盘总结文章集合

「PHP编程」PHP中的这些坑,PHP开发常见填坑备注

在日常开发中,我们经常碰到这样的问题,即有些PHP问题看似简单,一说就明,但是一到使用时就踩坑。比如,下面我所列的几条:

10120
来自专栏前端导学

RESTFul架构权限设计

1 用户权限认证后获取服务端的token,将token存入客户端cookie中。

20040
来自专栏前端导学

教你编译PHP7 (nginx+mysql+php7)

操作系统: CentOS Linux, 6.5 64位 服务器: 阿里云 空的操作系统,我们从0开始. 在开始前,请确保你的Linux已联网,已联网,已...

14720
来自专栏前端导学

微信开发笔记

要实现网页版微信扫码登录必须: 1 有开发平台账号 2 网站服务已经被绑定到开发平台账号

13730
来自专栏前端导学

Laravel开发实战 开发一个类知乎

进入database/migrations/ create_users_table 文件

13540
来自专栏前端导学

JSSDK使用注意事项

1 如果要做朋友圈分享 ,除了'checkJsApi'请务必在config中加上

13230
来自专栏前端导学

laravel5.5功能尝鲜

如果laravel 命令报错,请参考 http://blog.csdn.net/fishermanmax/article/details/51916898 如...

21440
来自专栏Golang开发

Python爬虫——Scrapy简介

Scrapy Engine(引擎):Scrapy框架的核心部分。负责在Spider和ItemPipeline、Downloader、Scheduler中间通信、...

11020
来自专栏北漂的我

web.xml 中的 url-pattern 映射规则

Servlet和filter是J2EE开发中常用的技术,使用方便,配置简单。servlet和filter中的url-pattern有一些文章在里面的,总结了一些...

16450
来自专栏魔王卷子的专栏

HTTP协议之URL语法

URL提供了一种对任意的一种互联网资源定位的手段。但是这些资源是可以通过不同的方案来(比如,HTTP,FTP,SMTP)进行访问的,因此URL的语法会随着方案的...

19420

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励