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

时间:2012-10-16 09:01:22

标签: python hex crc16

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

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

我需要计算这个的CRC 16。 An online calcultor gives我:

0x81 0x53 //correct

我使用crcmod python模块如下:

crc16 = crcmod.predefined.mkCrcFun('crc-16')

print crc16('123456789') # works well

print hex(crc16('\x81\x12\xC0\x00\x01\x05')) #EDIT : works aswell!

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

谢谢!

2 个答案:

答案 0 :(得分:1)

使用'\x81\x12\xC0\x00\x01\x05'

答案 1 :(得分:1)

如果您可以自由编辑您的内容,Marcus is right,否则(例如,如果您的节目已经在程序的某个位置),请执行

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