gpt4 book ai didi

python - 在 Python 3 中计算 Intel Hex 记录的校验和

转载 作者:行者123 更新时间:2023-12-04 18:02:57 32 4
gpt4 key购买 nike

Intel 十六进制校验和 算法是通过添加一串字节来计算的。最后一个字节是字符串其余部分之和的二进制补码,因此将其添加到有效字符串中应该等于零。

record_block是一个字节数组,这样读入:

file_handle = open("branson_weld_data.txt","rb")
ba = bytearray(file_handle.read())
# record_block is 20 20 00 00 00 3D 25 00 00 00 2B 02 00 85 01 00 31
# checksum is last byte, 31

我没有成功地将 Python 字节列表的字节加在一起。

def verify_checksum(record_block):
byte_sum = 0
for byte in record_block:
byte_sum &= b
return byte_sum

print(verify_checksum(record_block))
# should be zero

record_block 是二进制数列表吗?我是否正确添加了字节?

最佳答案

这应该给你正确的总和:

sum(record_block) & 0xff

但是你的例子校验和应该是'AB'

关于python - 在 Python 3 中计算 Intel Hex 记录的校验和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31905021/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com