我从串口收到一些数据包。数据包示例:

                         last 2 bytes
                              /\
[ data length ] [ data ] [packet crc]


我得到了crc,例如b'w\x06'。值为125(sum(b'w\x06') = 125)。我计算数据包的crc:sum(data)。而我得到1655。我知道1655b'w\06'相同,但是我不知道如何将其简单地转换为125并与正确的校验和进行比较。我需要将1655转换为与接收到的数据包字节(125b'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/

10-12 18:32