我正在用python 3試驗字節,我得到一個奇怪的結果。當我將字符轉換爲十六進制時,我得到一個可預測的結果。 ord('t') == 116
,這等於7 * 16 + 4,這是合理的,因爲:以字節爲單位調用索引
binascii.hexlify(b't') == b'74'
我不明白的是爲什麼b'74'[0] == 55
。 55從哪裏來?
我正在用python 3試驗字節,我得到一個奇怪的結果。當我將字符轉換爲十六進制時,我得到一個可預測的結果。 ord('t') == 116
,這等於7 * 16 + 4,這是合理的,因爲:以字節爲單位調用索引
binascii.hexlify(b't') == b'74'
我不明白的是爲什麼b'74'[0] == 55
。 55從哪裏來?
b'74'[0]
是'7'
。字符'7'
是55中的ASCII
因此它在您調用它時單獨解釋字節而不是考慮它們像十六進制一樣。 – Rob
@Rob它們仍然都是字符串,因此可以迭代,因此您可以通過它們的索引訪問符號。 –
@Rob'b'74''是一個包含兩個字節的文字字節對象。看看'b't'[0]' –
55 = 0x37是'7'的ASCII代碼,即'chr(55)=='7'' –