我有一系列十六进制字节:
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字符串(函数需要)
谢谢!
答案 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)