在线文档教程
Python

base64

base64 — RFC 3548: Base16, Base32, Base64 Data Encodings

该模块提供RFC 3548中规定的数据编码和解码。该标准定义了用于编码和解码任意二进制字符串为文本字符串的Base16,Base32和Base64算法,这些字符串可以通过电子邮件安全发送,用作URL的一部分或作为HTTP POST请求的一部分包含在内。编码算法与uuencode程序不同。

这个模块提供了两个接口。现代接口支持使用RFC 3548中定义的base-64字母(正常,URL和文件系统安全)编码和解码字符串对象。传统界面提供了对文件类对象以及字符串的编码和解码,但仅使用Base64标准字母表。

Python 2.4引入的现代接口提供:

base64.b64encode(s[, altchars])

使用Base64编码一个字符串。

s是要编码的字符串。可选的altchars必须是一个至少包含长度为2的字符串(忽略其他字符),该字符串指定+/字符的替代字母表。这允许应用程序例如生成URL或文件系统安全的Base64字符串。默认值是None,使用标准的Base64字母表。

编码的字符串被返回。

base64.b64decode(s[, altchars])

Decode a Base64 encoded string.

s是要解码的字符串。可选的altchars必须是长度至少为2的字符串(忽略附加字符),该字符串指定使用替代字母表而不是+/字符。

解码后的字符串被返回。TypeError如果s未正确填充,则引发A. 在填充检查之前,不会放弃正常的base-64字母表或替代字母表中的字符。

base64.standard_b64encode(s)

编码字符串小号使用标准的Base64字母表。

base64.standard_b64decode(s)

解码字符串小号使用标准的Base64字母表。

base64.urlsafe_b64encode(s)

编码字符串小号使用URL-和文件系统安全的字母表,其中替代-代替+_代替/标准的Base64字母表。结果仍然可以包含=

base64.urlsafe_b64decode(s)

解码字符串小号使用URL-和文件系统安全的字母表,其中替代-代替+_代替/标准的Base64字母表。

base64.b32encode(s)

使用Base32编码一个字符串。s是要编码的字符串。编码的字符串被返回。

base64.b32decode(s[, casefold[, map01]])

解码Base32编码的字符串。

s是要解码的字符串。可选casefold是一个标志,指定小写字母是否可以作为输入。为了安全起见,默认是False

RFC 3548允许将数字0(零)可选地映射到字母O(哦),并且可选地将数字1(一)映射到字母I(眼睛)或字母L(el)。可选参数 map01如果不是None,指定数字1应该映射到哪个字母(当 map01不是None,数字0总是映射到字母O)。出于安全目的,默认值是None0,因此输入中不允许使用0和1。

解码后的字符串被返回。TypeError如果s未正确填充或字符串中存在非字母字符,则会引发A.

base64.b16encode(s)

使用Base16编码一个字符串。

s是要编码的字符串。编码的字符串被返回。

base64.b16decode(s[, casefold])

解码Base16编码的字符串。

s是要解码的字符串。可选casefold是一个标志,指定小写字母是否可以作为输入。为了安全起见,默认是False

解码后的字符串被返回。TypeError如果s未正确填充或字符串中存在非字母字符,则会引发A.

传统界面:

base64.decode(input, output)

解码输入文件的内容并将生成的二进制数据写入输出文件。输入输出必须是文件对象或模仿文件对象接口的对象。输入将被读取直到input.read()返回一个空字符串。

base64.decodestring(s)

解码必须包含一行或多行base64编码数据的字符串s,并返回包含结果二进制数据的字符串。

base64.encode(input, output)

编码输入文件的内容并将生成的base64编码数据写入输出文件。输入输出必须是文件对象或模仿文件对象接口的对象。输入将被读取直到input.read()返回一个空字符串。encode()返回编码数据加上一个尾随的换行符('\n')。

base64.encodestring(s)

对可以包含任意二进制数据的字符串s进行编码,并返回包含一行或多行base64编码数据的字符串。encodestring()返回一个包含一行或多行base64编码数据的字符串,总是包含一个额外的尾部换行符('\n')。

模块的示例用法:

>>> import base64 >>> encoded = base64.b64encode('data to be encoded') >>> encoded 'ZGF0YSB0byBiZSBlbmNvZGVk' >>> data = base64.b64decode(encoded) >>> data 'data to be encoded'