python - 如何拆分此十六进制字节字符串
问题描述
我有以下来自智能电表的十六进制字节字符串:
'~\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 函数不起作用,有什么想法吗?
谢谢!
解决方案
您可以使用 将字符串转换为 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
推荐阅读
- plsql - 通过将 Excel 文件作为输入对表格执行 DML
- ios - Swift 中的 Bagplot 实现
- angular - 角度分量上的 2 个形式
- php - 如何通过查询获取我的数据,以便创建具有与 OOP 相关的类的编辑函数?
- c# - 切换选项卡时如何防止嵌套 UserControl 中的工具栏被聚焦?
- javascript - 识别 JS 代码中的函数调用
- c# - 即使进程以 RedirectStandardInput = true 启动,监听 Console.CancelKeyPress 的子进程也会收到它
- javascript - Nightwatch JS:Browser.execute 不执行 javascript
- node.js - (Node.js) 需要将大数拆分成不大于 100 的小数
- javascript - 使用 hljs 库在 React 中动态突出显示代码