これを広範囲に検索しましたが、この問題を修正した記事は見つかりませんでした。私は '82001B014042'のモデムから受け取ったシンプルな文字列を持っています。私は '82001B01'の前のヘッダーを無視し、16進数の '4042'をデコードしたいと思います。私のコードは以下の通りです。Python - binascii.unhexlifyと.decode( "hex")return TypeError:16進数でない数字が表示されます
rxHEX = ser.readline()
print rxHEX #82001B014042
rxData = rxHEX[8:] #4042
print rxData
#rxData = "4042"
rxData = rxData.decode("hex")
#rxData = binascii.unhexlify(rxData)
print rxData
私は.decode( "進")またはbinascii.unhexlify(RXDATA)を使用する場合にかかわらず、私はTypeError例外受け取る:それはを返し#rxData = "4042"
I非ハッシュ場合は非進数の桁が
を見つけました@ Sこれは私が期待しているものです。
なぜモデム文字列から受信したものから機能しないのですか?
私だけ
rxHEX = ser.readline()
print rxHEX
rxData = rxHEX[8:]
print rxData
I recieve
をお持ちの場合は出力が
82001F014042
'repr()'を出力したら? –