我从串口收到一些数据包。数据包示例:
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]
关于python - 检查python中字节校验和的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52190548/