python - 在 python 中解析和拆分十六进制字节数组
问题描述
我想解析和拆分从车辆 CAN 读取的十六进制字节数组。整个 64 位被读取为bytearray(b'\xa0\xc6\xa6\xc2\x06\xe3)B')
,我想根据位位置对其进行拆分。例如,我需要101000
.
根据这里的一些阅读,我已经完成了从十六进制字节数组到二进制字符串的转换,并成功解析它。我目前的做法是:
orig_data = bytearray(b'\xa0\xc6\xa6\xc2\x06\xe3)B')
def hex2bin(hex_string):
scale = 16
num_of_bits = 8
return bin(int(hex_string, scale))[2:].zfill(num_of_bits)
bin_str = hex2bin(bytes(orig_data).hex())
print(bin_str[:6])
由于我需要处理大量的高速数据传输,我想知道是否有比我目前采用的方法更快的方法来做到这一点?
解决方案
推荐阅读
- angular - 由于缺少接口定义,Angularjs typescript 编译器错误
- javascript - 我正在尝试将工具提示添加到代码中的 a 标记,但它会引发错误:无法在字符串上创建属性“位置”
- d - 嗨,当我们右键单击文档并查看时,我需要包括属性在内的所有属性的结果
- reactjs - 创建从服务器获取数据的可编辑组件的正确方法?
- ios - App UI 将冻结 Firebase MLKit for iOS
- sql - 增加超集 sqllab 超时
- python - 为什么下面正文中的 python 绘图示例在似乎没有添加任何值时使用 subplot?
- docker - 在同一个 Docker 容器中部署单体和微服务
- python - 我正在尝试实施广度优先搜索
- python - How to convert a binary string into bipolar representation in python?