python模块(五)------base64模块及其常用方法

python模块(四)------time模块及其常用方法

base64模块
  • 使用之前必需先导入
import base64
  • base64.b64encode(s, altchars=None)对字节串s进行base64编码,并返回编码后的bytes

    ​ 可选项 altchars 必须是一个长 2 字节的 bytes-like object,它指定了用于替换 + 和 / 的字符。这允许应用程序生成 URL 或文件系统安全的 Base64 字符串。默认值是 None,使用标准 Base64 字母表。

>>> base64.b64encode(b"abcd1234")
b'YWJjZDEyMzQ='
  • base64.b64decode(s, altchars=None, validate=False)解码Base64编码过的 字节串或 ASCII 字符串 s 并返回解码过的 bytes

    可选项 altchars 必须是一个长 2 字节的 bytes-like object,它指定了用于替换 + 和 / 的字符

    如果 validate 值为 False (默认情况),则在填充检查前,将丢弃既不在标准 base-64 字母表之中也不在备用字母表中的字符。如果 validate 为 True,这些非 base64 字符将导致 binascii.Error

>>> base64.b64decode(b'YWJjZDEyMzQ=')
b'abcd1234'
  • 其他方法,用法和上面两个方法类似
# 编码 bytes-like object s,使用标准 Base64 字母表并返回编码过的 bytes
base64.standard_b64encode(s)

# 解码 bytes-like object 或 ASCII 字符串 s,使用标准 Base64 字母表并返回编码过的 bytes
base64.standard_b64decode(s)

#编码 bytes-like object s,使用 URL 与文件系统安全的字母表,使用 - 以及 _ 代替标准 Base64 字母表中的 + 和 /。返回编码过的 bytes。结果中可能包含 =
base64.urlsafe_b64encode(s)

# 解码 bytes-like object 或 ASCII 字符串 s,使用 URL 与文件系统安全的字母表,使用 - 以及 _ 代替标准 Base64 字母表中的 + 和 /。返回解码过的 bytes
base64.urlsafe_b64decode(s)

# 用 Base32 编码 bytes-like object s 并返回编码过的 bytes
base64.b32encode(s)

#解码 Base32 编码过的 bytes-like object 或 ASCII 字符串 s 并返回解码过的 bytes。可选的 casefold 是一个指定小写字幕是否可接受为输入的标志。为了安全考虑,默认值为 False,RFC 4648 允许可以选择将数码 0 (zero) 映射为字母 O (oh),并可以选择将数码 1 (one) 映射为字母 I (eye) 或字母 L (el)。 可选参数 map01 在不为 None 时,指定数码 1 应当映射为哪个字母 (当 map01 不为 None 时,数码 0 总是被映射为字母 O)。 出于安全考虑其默认值为 None,因而在输入中不允许 0 和 1。
base64.b32decode(s, casefold=False, map01=None)

# 类似于 b32encode() 
base64.b32hexencode(s)

# 类似于 b32decode() 
base64.b32hexdecode(s, casefold=False)

# 用 Base16 编码 bytes-like object s 并返回编码过的 bytes
base64.b16encode(s)

# 解码 Base16 编码过的 bytes-like object 或 ASCII 字符串 s 并返回解码过的 bytes。可选的 casefold 是一个指定小写字幕是否可接受为输入的标志。为了安全考虑,默认值为 False。
base64.b16decode(s, casefold=False)

# 用 Ascii85 编码 bytes-like object s 并返回编码过的 bytes,foldspaces 是一个可选的标志,使用特殊的短序列 'y' 代替 'btoa' 提供的 4 个连续空格 (ASCII 0x20)。这个特性不被 "标准" Ascii85 编码支持。wrapcol 控制了输出是否包含换行符 (b'\n'). 如果该值非零, 则每一行只有该值所限制的字符长度.pad 控制在编码之前输入是否填充为4的倍数。请注意,btoa 实现总是填充。adobe 控制编码后的字节序列是否要加上 <~ 和 ~>,这是 Adobe 实现所使用的。
base64.a85encode(b, *, foldspaces=False, wrapcol=0, pad=False, adobe=False)

#解码 Ascii85 编码过的 bytes-like object 或 ASCII 字符串 s 并返回解码过的 bytes。foldspaces 旗标指明是否应接受 'y' 短序列作为 4 个连续空格 (ASCII 0x20) 的快捷方式。 此特性不被 "标准" Ascii85 编码格式所支持。adobe 控制输入序列是否为 Adobe Ascii85 格式 (即附加 <~ 和 ~>)。ignorechars 应当是一个 bytes-like object 或 ASCII 字符串,其中包含要从输入中忽略的字符。 这应当只包含空白字符,并且默认包含 ASCII 中所有的空白字符。
base64.a85decode(b, *, foldspaces=False, adobe=False, ignorechars=b' \t\n\r\x0b')

# 用 base85(如 git 风格的二进制 diff 数据所用格式)编码 bytes-like object b 并返回编码后的 bytes。如果 pad 为真值,输入将以 b'\0' 填充以使其编码前长度为 4 字节的倍数。
base64.b85encode(b, pad=False)

# 解码 base85 编码过的 bytes-like object 或 ASCII 字符串 b 并返回解码过的 bytes。 如有必要,填充会被隐式地移除。
base64.b85decode(b)

# 解码二进制 input 文件的内容并将结果二进制数据写入 output 文件。 input 和 output 必须为 文件对象. input 将被读取直至 input.readline() 返回空字节串对象。
base64.decode(input, output)

# 解码 bytes-like object s,该对象必须包含一行或多行 base64 编码的数据,并返回已解码的 bytes。
base64.decodebytes(s)

# 编码二进制 input 文件的内容并将经 base64 编码的数据写入 output 文件。 input 和 output 必须为 文件对象。 input 将被读取直到 input.read() 返回空字节串对象。 encode() 会在每输出 76 个字节之后插入一个换行符 (b'\n'),并会确保输出总是以换行符来结束,如 RFC 2045 (MIME) 所规定的那样。
base64.encode(input, output)

# 编码 bytes-like object s,其中可以包含任意二进制数据,并返回包含经 base64 编码数据的 bytes,每输出 76 个字节之后将带一个换行符 (b'\n'),并会确保在末尾也有一个换行符,如 RFC 2045 (MIME) 所规定的那样。
base64.encodebytes(s)

python模块(六)------JSON模块及其常用方法

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值