繁体   English   中英

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

[英]hexadecimal string to usable hexadecimal in bytes()

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM