我想在Python中使用套接字庫發送兩個十六進制數字的字節到一個硬件編程接受它們。要創建的十六進制數字用戶inputed字符串的字節數,我試圖用bytes.fromhex()這裏所描述類方法:https://docs.python.org/dev/library/stdtypes.html#bytes.fromhex爲什麼bytes.fromhex()奇怪地處理一些十六進制值?
爲什麼如下:
hexstring = "bb 0D 02 55 55 5A ce"
data = bytes.fromhex(hexstring)
print(data)
給我:
b'\xbb\r\x02UUZ\xce'
代替:
b'\xbb\x0d\x02\x55\x55\x5a\xce'
?
我該如何讓它給我第二個輸出?我正在使用python 3.5。
''\ x55''是可打印的ASCII字符''U'',''\ x5A''是可打印的ASCII字符''Z'',''\ x0D''是通常由轉義字符串''\ r''表示的ASCII字符。如果你想要一個字符串顯示''\ x ..''唯一格式,其中十六進制代碼對於每個字符都是明確可見的,那麼......你已經有了'hexstring'。不要擔心Python控制檯顯示輸出字符串的方式 - 它可能更重要的是處理它的內容,並擔心它在任何系統上的顯示方式。 – jez