如何在 Python 中从十六进制系列转换 CRC 16



我有一个十六进制字节系列:

0x81 0x12 0xC0 0x00 0x01 0x05

我需要计算这个的CRC 16。在线计算器给我:

0x81 0x53 //correct

我使用 crcmod python 模块如下:

crc16 = crcmod.predefined.mkCrcFun('crc-16')
print crc16('123456789') # works well
print hex(crc16('x81x12xC0x00x01x05')) #EDIT : works aswell!

我如何将这个十六进制系列表示为 ascii 字符串(函数需要)

谢谢!

使用'x81x12xC0x00x01x05'

如果你可以自由编辑你的东西,Marcus 是对的,否则(例如,如果你的字节已经在程序中的某个地方),请

values = [0x81, 0x12, 0xC0, 0x00, 0x01, 0x05]
string = "".join(chr(i) for i in values)
print crc16(string)

最新更新