校验码的算法:计算校验码前所有字节的累加和(不进位),校验码=0x100-累加和。
例如:
:040000002CEF10F0E1 # 这里 E1 为校应码
python计算校应码(来验证校应码计算公式):
代码:
# data 为hex某一行的字符串数据
def calc_checksum( data):
sum = 0
result=0
print("校应数据长度:",len(data))
for i in range(0, len(data),2):
sum = ((int(data[i:i +2], 16))+checksum )
result=(256-sum)&0xff
return result
可以看到确实是0xE1,到此校验和算法验证成功。
来源:CSDN
作者:Yfw&武
链接:https://blog.csdn.net/u012577474/article/details/103934080