2016-11-28 40 views
0

我正在用python 3試驗字節,我得到一個奇怪的結果。當我將字符轉換爲十六進制時,我得到一個可預測的結果。 ord('t') == 116,這等於7 * 16 + 4,這是合理的,因爲:以字節爲單位調用索引

binascii.hexlify(b't') == b'74' 

我不明白的是爲什麼b'74'[0] == 55。 55從哪裏來?

+2

55 = 0x37是'7'的ASCII代碼,即'chr(55)=='7'' –

回答

1

b'74'[0]'7'。字符'7'是55中的ASCII

+0

因此它在您調用它時單獨解釋字節而不是考慮它們像十六進制一樣。 – Rob

+0

@Rob它們仍然都是字符串,因此可以迭代,因此您可以通過它們的索引訪問符號。 –

+1

@Rob'b'74''是一個包含兩個字節的文字字節對象。看看'b't'[0]' –

相關問題