如何分割此字符串的十六进制字节

时间:2018-08-10 20:25:23

标签: python python-3.x

我有一个来自智能电表的以下十六进制字节字符串:

'~\xa0\x1e\x03\x00\x02\xfe\xff4\xca\xec\xe6\xe7\x00\xc4\x01A\x00\x02\x04\x12\x00\x05\x11\x01\x11\x01\x11\x00\xc7\x11 ~'

我想将它们分成一个列表,然后将它们传递给小数或整数。 .split()python函数无法正常工作,有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用ord将字符串转换为ascii值列表。

values = [ord(c) for c in data]

尽管根据您要执行的操作,您可能甚至不需要将数据转换为list,因为str已经可以迭代。

相反,遍历您的角色并恢复其价值。这是一个简化的示例。

dt = '\xa0\x1e\x03\x00\x02\xfe'

for x in map(ord, dt):
    print(x)

输出

160
30
3
0
2
254