【发布时间】:2021-11-07 23:19:09
【问题描述】:
您好,我正在寻找一种解码十六进制编码传感器有效载荷的方法。
有效载荷是
payload_hex = "11154c1789870005bd0005bd01000200002900"
我使用将它转换为字节数组。
byte = bytearray.fromhex(payload)
decoded = {}
decoded["byte_7"]=byte[7]
decoded["byte_8"]=byte[8]
print(decoded)
我得到的结果是 byte_7 = 5 和 byte_8 = 189,但这是错误的,正确的数字是 byte_7 = 1280 和 byte_8 = 189。问题是字节序。十六进制 05 应为 1280,十六进制 bd 应为 189。
谁能给我一个提示如何让它在 python 中工作?
提前致谢!
【问题讨论】:
-
您的代码正在执行
0x05 + 0xbd,这与0x05bd不相同。同样,在十进制中,5 + 6不是56 -
嘿 ForceBru,你是完全正确的,但是当我逐字节解码而不添加它们时,我得到了错误的值。
标签: python arrays endianness