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

172.jpg

概述

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'

你可能感兴趣的:(Python3内置模块之base64编解码方法小结)