1

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

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('\x81\x12\xC0\x00\x01\x05')) #EDIT : works aswell!

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

谢谢!

4

2 回答 2

1

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

于 2012-10-16T09:03:24.320 回答
1

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

values = [0x81, 0x12, 0xC0, 0x00, 0x01, 0x05]
string = "".join(chr(i) for i in values)
print crc16(string)
于 2012-10-16T09:06:02.097 回答