概述
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 … … 简单使用
我们最常用的两个方法即b64encode和b64decode-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'