我从串口收到一些数据包。包示例:
last 2 bytes
/\
[ data length ] [ data ] [packet crc]
我得到了crc,例如,b'w\x06'
。价值是125(sum(b'w\x06') = 125
)。我计算包的crc:sum(data)
。我得到了1655
。我知道1655
与b'w\06'
相同,但我不知道,如何将其简单地翻译成125
并与正确的校验和进行比较。我需要将1655
转换为与接收的数据包字节(125
或b'w\x06'
)相同的值? binascii
/ struct
/别的什么?
谢谢
你可以使用int.from_bytes
:
int.from_bytes(b'w\x06', 'little')
或与struct
:
struct.unpack("<H", b'w\x06')[0]