检查python中字节校验和的最佳方法

问题描述 投票:1回答:1

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

                         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 /别的什么?

谢谢

python crc
1个回答
2
投票

你可以使用int.from_bytes

int.from_bytes(b'w\x06', 'little')

或与struct

struct.unpack("<H", b'w\x06')[0]
© www.soinside.com 2019 - 2024. All rights reserved.