我有一个来自智能电表的以下十六进制字节字符串:
'~\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函数无法正常工作,有什么想法吗?
谢谢!
答案 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