Python 为什么binascii.a2b_hex()返回字符串?
这是来自的函数的描述 binascii.a2b_十六进制(hexstr) 返回由十六进制字符串hextr表示的二进制数据。此函数与b2a_hex()相反。hexstr必须包含偶数个十六进制数字(可以是大写或小写),否则将引发TypeError 但是,下面的代码示例打印出Python 为什么binascii.a2b_hex()返回字符串?,python,python-2.7,Python,Python 2.7,这是来自的函数的描述 binascii.a2b_十六进制(hexstr) 返回由十六进制字符串hextr表示的二进制数据。此函数与b2a_hex()相反。hexstr必须包含偶数个十六进制数字(可以是大写或小写),否则将引发TypeError 但是,下面的代码示例打印出helloworld import binascii print binascii.a2b_hex('48656c6c6f20576f726c6421') 为什么print将二进制数据解释为字符串?到底发生了什么?因为在Pyth
helloworld代码>
import binascii
print binascii.a2b_hex('48656c6c6f20576f726c6421')
为什么print
将二进制数据解释为字符串?到底发生了什么?因为在Python 2中,所有二进制数据都表示为字符串。str
类型基本上只是一个字节序列
在Python 3中,基本的str
类型是一个unicode值(unicode()
,在Python 2中),Python 2str
类型被重命名为bytes
,函数输出字节:
>>> import binascii
>>> binascii.a2b_hex('48656c6c6f20576f726c6421')
b'Hello World!'