gpt4 book ai didi

python - 为什么 binascii.a2b_hex() 返回一个字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 07:21:36 24 4
gpt4 key购买 nike

这是来自 standard library documentation 的函数描述.

binascii.a2b_hex(hexstr)

Return the binary data represented by the hexadecimal string hexstr. This function is the inverse of b2a_hex(). hexstr must contain an even number of hexadecimal digits (which can be upper or lower case), otherwise a TypeError is raised.

但是,下面的代码示例打印出 Hello World!

import binascii
print binascii.a2b_hex('48656c6c6f20576f726c6421')

为什么 print 将二进制数据解释为字符串?到底是怎么回事?

最佳答案

因为在 Python 2 中,所有二进制数据都表示为字符串。 str 类型基本上只是一个字节序列。

在 Python 3 中,基本的 str 类型是一个 unicode 值(unicode() 在 Python 2 中)和 Python 2 str 类型已重命名为 bytesa2b_hex 函数输出字节:

>>> import binascii
>>> binascii.a2b_hex('48656c6c6f20576f726c6421')
b'Hello World!'

关于python - 为什么 binascii.a2b_hex() 返回一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16808331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com