binascii模块 / binascii Module
binascii模块包含很多在二进制和 ASCII 编码的二进制表示之间的转换方法。关于进制转换可以参考一些内置函数。
hexlify 与 unhexlify
>>> import binascii
>>> a = 'hello world'
>>> b = binascii.b2a_hex(a)
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
b = binascii.b2a_hex(a)
TypeError: 'str' does not support the buffer interface
>>> a = b'hello world'
>>> b = binascii.b2a_hex(a)
>>> print(b)
b'68656c6c6f20776f726c64'
>>> b = binascii.hexlify(a)
>>> print(b)
b'68656c6c6f20776f726c64'
>>> print(binascii.unhexlify(b))
b'hello world'
上面的函数 hexlify 和 b2a_hex 实际上是一个函数,推荐使用 hexlify。其作用是返回的二进制数据的十六进制表示。每个字节的数据转换成相应的 2 位十六进制表示。因此产生的字符串是原数据的两倍长度。a2b_hex 和 unhexlify 则执行反向操作。
相关阅读
1. 内置函数