看板 Python 關於我們 聯絡資訊
我要想要做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