1

私は16進バイトのシリーズを持っています:

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

これのCRC16を計算する必要があります。オンライン電卓は私に与えます:

0x81 0x53 //correct

私は次のようにcrcmodpythonモジュールを使用します:

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

print crc16('123456789') # works well

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

この16進セリエをASCII文字列(関数が必要とする)としてどのように表すことができますか?

ありがとうございました!

4

2 に答える 2

1

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

于 2012-10-16T09:03:24.320 に答える
1

自分のものを自由に編集できる場合、マーカスは正しいです。そうでない場合 (たとえば、プログラムのどこかにすでにバイトがある場合)、

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