gpt4 book ai didi

python - 在 Python 中计算 CRC16

转载 作者:太空宇宙 更新时间:2023-11-04 03:19:19 24 4
gpt4 key购买 nike

我正在尝试使用 crcmod 根据 CRC-16 算法评估适当的校验和Python 模块和 2.7 版本的 Python 解释器。校验和参数为:

  • CRC顺序:16
  • CRC 多项式:0x8005
  • 初始值:0xFFFF
  • 最终值:0x0000
  • 直接:正确

代码:

crc16 = crcmod.mkCrcFun(0x18005, rev=False, initCrc=0xFFFF, xorOut=0x0000)
print hex(crc16(str(int(0x5A0001))))

对于输入 0x5A0001,它打印 0x7E16 而我应该得到类似 0xCE0A 的内容。

我查看了 http://www.lokker.net/Java/crc/CRCcalculation2.htm并且计算出的值为 0xACE,这是正确的(相对于顺序)。

最佳答案

crcmod工作正常。您没有给它您认为给它的三个字节。你的str(int(0x5A0001))正在提供 7 个字节,它们是 ASCII 字符 58982410x5a0001 的转换到十进制。

向它提供字节 0x5a 0x00 0x01 ,你会改为(作为一种方法):

print hex(crc16("5a0001".decode("hex")))

打印0xace .

关于python - 在 Python 中计算 CRC16,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35205702/

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