首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python中十六进制字符串到字节数组的转换

python中十六进制字符串到字节数组的转换
EN

Stack Overflow用户
提问于 2011-04-13 20:43:58
回答 7查看 401.4K关注 0票数 193

我有一个很长的十六进制字符串,表示一系列不同类型的值。我希望将这个十六进制字符串转换为字节数组,这样我就可以将每个值移出,并将其转换为适当的数据类型。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-04-16 06:32:21

假设您的十六进制字符串类似于

代码语言:javascript
复制
>>> hex_string = "deadbeef"

将其转换为字符串(Python≤2.7):

代码语言:javascript
复制
>>> hex_data = hex_string.decode("hex")
>>> hex_data
"\xde\xad\xbe\xef"

或者从Python 2.7和Python 3.0开始:

代码语言:javascript
复制
>>> bytes.fromhex(hex_string)  # Python ≥ 3
b'\xde\xad\xbe\xef'

>>> bytearray.fromhex(hex_string)
bytearray(b'\xde\xad\xbe\xef')

请注意,bytesbytearray的一个不可变版本。

票数 314
EN

Stack Overflow用户

发布于 2012-11-13 23:01:19

bytearray中有一个内置的函数,它可以做你想做的事情。

代码语言:javascript
复制
bytearray.fromhex("de ad be ef 00")

它返回一个bytearray,并读取带或不带空格分隔符的十六进制字符串。

票数 156
EN

Stack Overflow用户

发布于 2011-04-13 20:51:37

如果我理解正确,您应该查找binascii.unhexlify

代码语言:javascript
复制
import binascii
a='45222e'
s=binascii.unhexlify(a)
b=[ord(x) for x in s]
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5649407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档