作者blackspace98 (~我愛夏天~)
看板Python
標題[問題] crc檢查
時間Sun Jan 6 13:16:40 2013
我要想要做crc的檢查
其中
crc = calcString( '\x04\x03\x04\x00\xa0\x00\x00', INITIAL)
print (hex(crc))
0x11af會是我要的結果
但是如果我改寫成
str = "04030400a00000"
a=''
for i in range(0,len(str),2):
a += r"\x" + str[i:i+2]
print (a) #\x04\x03\x04\x00\xa0\x00\x00
crc = calcString( a, INITIAL)
print (hex(crc))
結果會是0xaf0e
為什麼會這樣呢?
我又應該如何修改呢?
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.75.173.91
→ kdjf:在你的第一個string中,裡面不是真的有/這個字元 01/06 13:53
→ kdjf:strA='\x04\x03\x04\x00' 和你的a各自print出來就不一樣 01/06 13:55
推 kdjf:然後你如果是用python2.x的話,print是statment,不是function 01/06 13:57
→ kdjf:你用的print()是從python3帶回去的,有時候會怪怪的喔 01/06 13:57
推 zha0:loop 那裡可以用 a.decode('hex') or binascii.hexlify 01/06 19:29
→ zha0:可以少打字 XD 01/06 19:29
→ zha0:a.encode 打錯 0rz 01/06 19:30