手记

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人推荐
随时随地看视频
慕课网APP