Reputation: 2232
I have a serie of hexidecimal bytes:
0x81 0x12 0xC0 0x00 0x01 0x05
I need to calculate the CRC 16 of this. An online calcultor gives me:
0x81 0x53 //correct
I use the crcmod python module as follows:
crc16 = crcmod.predefined.mkCrcFun('crc-16')
print crc16('123456789') # works well
print hex(crc16('\x81\x12\xC0\x00\x01\x05')) #EDIT : works aswell!
How can i represent this hexidecimal serie as an ascii string (which the function requieres )
Thank you!
Upvotes: 1
Views: 3322
Reputation: 91017
If you can freely edit your stuff, Marcus is right, otherwise (e.g. if you have your bytes already somewhere in your program), do
values = [0x81, 0x12, 0xC0, 0x00, 0x01, 0x05]
string = "".join(chr(i) for i in values)
print crc16(string)
Upvotes: 1