十六进制字符串到可用的十六进制字节()

时间:2021-05-20 10:31:43

标签: python string hex byte encode

我的处理需要将十六进制字符串转换为十六进制。我不想对其进行编码。 例子: 我的程序(解决不同的问题)向我提供字符串 result = ["0xa0", "0xb4"]。现在我想直接使用 0xa0 作为以字节为单位的十六进制,如 bytes([result[0], results[1])。但这是不可能的......有人知道解决方案吗?

1 个答案:

答案 0 :(得分:0)

这里有一个基本的混淆,“十六进制”不是一种类型。 bytes 构造函数采用一系列 int 对象。您可以使用 int 构造函数(通过将基数传递给它)将这些字符串转换为它们表示的十六进制数的整数,并将该操作的映射传递给 bytes 构造函数:

>>> result = ["0xa0", "0xb4"]
>>> bytes([int(x, 16) for x in result])
b'\xa0\xb4'

怀疑无论您在何处创建 result,您都不必要地在某些 hex(x) 上使用了 int。最好一开始就不要这样做

相关问题