当前位置:首页 > ELSE > 正文内容

base64模块的用法 base64 base32 base16 base85 ascii85

Luz2年前 (2019-12-02)ELSE477

base64模块提供了大量函数用来把二进制数据编码为可打印的ASCII字符,以及将其解码为二进制数据。提供了RFC3548中Base16、Base32、Base64以及事实标准Ascii85和Base85编码与解码算法的实现。

RFC3548编码规则适合对二进制数据进行编码以使其可以通过email安全传输,作为URL的一部分,或者包含在HTTP POST请求中,编码算法与uuencode程序并不一样。该模块提供了两个接口,支持将字节串对象编码为ASCII字节,以及进行相反的解码,支持RFC3548中定义的全部base-64字母。

base64.b64encode(s, altchars=None)

对字节串对象s进行编码,返回编码后的字节串,可选参数altchars必须是长度至少为2的字节串对象(额外的字符将被忽略),用来指定+和/字符的替换字母,允许应用程序生成URL或者文件系统的安全Base64字符串。altchars默认值为None,使用标准的Base64字母。

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

对Base64编码的字节串对象进行解码。

base64.standard_b64encode(s)

使用标准Base64字母对字节串s进行编码。

base64.standard_b64decode(s)

使用标准Base64字母对字节串进行解码。

base64.urlsafe_b64encode(s)

使用URL和文件系统安全的字母对字节串进行编码,把+替换为-,/替换为_,结果中仍包含=。

base64.urlsafe_b64decode(s)

使用URL和文件系统安全的字母对字节串进行编码,把+替换为-,/替换为_。

base64.b32encode(s)

使用Base32对字节串s进行编码。

base64.b32decode(s, casefold=False, map01=None)

对Base32编码的字节串进行解码,可选参数casefold用来标记是否接收小写字母作为输入。RFC3548允许数字0到字母O的映射,以及数字1到字母I或L的映射。当可选参数map01不是None时用来指定数字1映射为什么字母(此时数字0总是会被映射为字母O),当默认为None时输入中不允许包含数字0和1。

base64.b16encode(s)

使用Base16对字节串进行编码。

base64.b16decode(s, casefold=False)

使用Base16对字节串进行解码。

base64.a85encode(b, *, foldspaces=False, wrapcol=0, pad=False, adobe=False)

使用Ascii85对字节串进行编码,返回编码后的字节串。

base64.a85decode(b, *, foldspaces=False, adobe=False, ignorechars=b' \t\n\r\v')

对Ascii85编码的字节串进行解码。

base64.b85encode(b, pad=False)

使用base85对字节串s进行编码。

base64.b85decode(b)

对base85编码的字节串进行解码。

base64.encode(input, output)

对二进制文件对象input进行编码并写入文件对象output,每76个字节插入一个换行符b'\n',并保证output总是以换行符结束。

base64.decode(input, output)

对二进制文件对象input进行编码并写入文件对象output。

base64.encodebytes(s)

对包含任意二进制数据的字节串进行编码,返回包含base64编码的字节串,每76个字节插入一个换行符b'\n',并且保证以换行符结束。

base64.decodebytes(s)

对包含一行或多行base64编码数据的字节串s进行解码,返回解码的字节串。


分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。