你說得對 - 這是一個十六進制符號。
在字面一個字節,這不能由可打印的ASCII字符來表示(或標準中的一個逸出\n
,\t
或\r
)任何字節被表示爲\xNN
,其中NN是的2位十六進制表示法字節。
有什麼讓你感到困惑的是,你誤以爲, \xf1Y
單個轉義序列的時候,其實它代表兩個字節:
>>> len(b'\xf1Y')
2
>>> [bytes([b]) for b in b'\xf1Y']
[b'\xf1', b'Y']
如果您遍歷一個字節的對象,你會得到字節的整數值回:
>>> list(b'vy\xe9\xb5\xa2\xba\xf1Y\xe8\xe1fl\x1d\x87\xacC')
[118, 121, 233, 181, 162, 186, 241, 89, 232, 225, 102, 108, 29, 135, 172, 67]
>>> bytes([118])
b'v'
>>> bytes([121])
b'y'
>>> bytes([233])
b'\xe9'
escape sequences in Python string and bytes objects的文檔有更多關於Python可以理解的轉義序列的信息(儘管以上是用於表示字節對象的唯一轉義序列)。
謝謝!是的,這就是讓我困惑的原因。我不知道它是在/ x__十六進制代碼旁邊混合文字字符描述。 –