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

hexadecimal string to usable hexadecimal in bytes()

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

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

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

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