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

推荐答案

假设你的十六进制字符串是

>>> hex_string = "deadbeef"

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

>>> hex_data = hex_string.decode("hex")
>>> hex_data
"\xde\xad\xbe\xef"

或者从Python 2.7和Python 3.0开始:

>>> bytes.fromhex(hex_string)  # Python ≥ 3
b'\xde\xad\xbe\xef'

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

请注意,bytesbytearray的不变版本.

Python相关问答推荐

检测包是否作为 __init__.py 中的程序运行

通过python在字典内的字典中打印数字

如何重构此代码片段以提高效率?

运行多个 LinearRegressions 测试时精度没有增加

如何选择python selenium中的所有复选框?

根据 url 列表创建合并的 df [pandas]

Visual Studio Code 在“窗口没有响应”之后冻结

二分搜索:没有得到非常大的值的上限和下限

将字典列表与特定值匹配组合

遍历python中的列表并删除元素中字符的第二个实例之后的字符

类实例的方法参数自动完成

Haystack 为预测指定列

使用 Python 或 Curl 下载 json 文件不起作用

如何使用 Python reduce 或列表推导将函数列表顺序应用于字符串?

在 RDKit 中使用金属ionic 处理 SMILES

根据条件创建虚拟 DataFrame

根据条件递归地向嵌套字典添加键

是否有更好的正则表达式来计算中文字母的数量并同时排除一些字符?

在 __next__() 中修改之前返回对象

为什么 `any` 和 `all` 似乎没有在这里使用短路判断?