如何在Python中从十六进制序列转换CRC16
我有一系列十六进制字节:如何在Python中从十六进制序列转换CRC16,python,hex,crc16,Python,Hex,Crc16,我有一系列十六进制字节: 0x81 0x12 0xC0 0x00 0x01 0x05 我需要计算这个的CRC16。我: 我使用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! 如何将这个十六进制序列表示为
0x81 0x12 0xC0 0x00 0x01 0x05
我需要计算这个的CRC16。我:
我使用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字符串(函数需要)
谢谢大家! 如果您可以自由编辑您的内容,请使用
'\x81\x12\xC0\x00\x01\x05'
,否则(例如,如果您的程序中已有字节),请执行以下操作
@jorrebor,是的,我这样做了,但我得到的是
0x815B
。。。同时,我正在使用81 12 C0 00 01 05
。
crc16 = crcmod.predefined.mkCrcFun('crc-16')
print crc16('123456789') # works well
print hex(crc16('\x81\x12\xC0\x00\x01\x05')) #EDIT : works aswell!
values = [0x81, 0x12, 0xC0, 0x00, 0x01, 0x05]
string = "".join(chr(i) for i in values)
print crc16(string)