将十六进制字符串转换为可读输出

时间:2018-04-02 23:32:37

标签: python string hex

我从另一个程序收到值“\ E8 \ x03”到我的python程序中,它实际上是值“1000”,即0x3E8。如何从该输入字符串进行此转换?

感谢。

1 个答案:

答案 0 :(得分:0)

首先让我们清理字符串:

>>> clean_hex = re.sub(r'\\x?([a-f0-9]{2})', lambda x: chr(int(x.group(1), 16)), r"\E8\x03", flags=re.I)
>>> clean_hex
'\xe8\x03'

然后我们可以使用struct模块:

>>> struct.unpack('<H', clean_hex)[0]
1000