十六进制字符串到字节中可用的十六进制()
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)
。 一开始就不要那样做可能更好。
我需要将我处理的十六进制字符串转换为十六进制。我不想对其进行编码。
例子:
我的程序(解决不同的问题)向我提供了字符串 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)
。 一开始就不要那样做可能更好。