Python的功能模块[3] -> binascii -> 编码转换

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. 内置函数