首页 > 解决方案 > 如何拆分此十六进制字节字符串

问题描述

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

'~\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 函数不起作用,有什么想法吗?

谢谢!

标签: pythonpython-3.x

解决方案


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

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

虽然,根据您想要做什么,您甚至可能不需要将数据转换为 a,list因为 astr已经是可迭代的。

相反,迭代你的角色并恢复他们的价值。这是一个简化的例子。

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

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

输出

160
30
3
0
2
254

推荐阅读