使用Python获取Check Hex的Sum Hex值

时间:2017-01-05 21:21:03

标签: python python-2.7

我的问题可能很简单,但我不熟悉字节/十六进制操作。我需要使用以下值从串行端口数据执行校验和:

55 55 3A 0B 47 09 3E 08 FF 0F 93

最后一个值93是总和值,但我不知道如何做到这一点。 55 + 55 + 3A + 0B + 47 + 09 + 3E + 08 + FF + 0F = 93

1 个答案:

答案 0 :(得分:1)

将原始字节串转换为数字序列,然后将除最后一个数字之外的所有数字,掩码添加到字节长度,并将结果与​​序列中的最后一个数字进行比较。

>>> data = bytearray('\x55\x55\x3a\x0b\x47\x09\x3e\x08\xff\x0f\x93')
>>> sum(data[:-1]) & 0xff == data[-1]
True