[問題] byte轉integer的規則

看板Python作者 (Jeffery1229)時間2年前 (2021/06/30 18:05), 編輯推噓2(208)
留言10則, 4人參與, 2年前最新討論串1/1
print( list( b’ \xa31 ’ ) ) 印出來是[163, 49] 轉回hex是0xa3跟0x31 但今天我改 print( list( b’ \x33a ’ ) ) 印出來是[51, 97] 轉回hex是0x33跟0x61 請問他的規律是什麼 我試了很多組合都找不出來 網路上也找不到 剛接觸Python 還請各位大神指點(OvO) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.167.7 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1625047504.A.A05.html

06/30 20:15, 2年前 , 1F
\xa3 是 16 進位,所以一般表示就是 0xa3
06/30 20:15, 1F

06/30 20:15, 2年前 , 2F
b'\xa31'的1被當成ASCII的'1'(0x31) 試試看b'\xa3\x01'
06/30 20:15, 2F

06/30 20:15, 2年前 , 3F
1 這個字元在 ascii table 內的 hex 碼是 0x31
06/30 20:15, 3F

06/30 20:17, 2年前 , 4F
b'\xa31' 所以 hex 整個就是 0xa3 與 0x31
06/30 20:17, 4F

06/30 20:17, 2年前 , 5F
\x33 是 16 進位,所以表示表示 0x33
06/30 20:17, 5F

06/30 20:17, 2年前 , 6F
a 字元在 ascii table 內的 hex 碼是 61
06/30 20:17, 6F

06/30 20:18, 2年前 , 7F
第一個 \xa31被解讀成\xa3 跟 1
06/30 20:18, 7F

06/30 20:18, 2年前 , 8F
第二個\x33a被解讀成\x33跟a
06/30 20:18, 8F

06/30 20:18, 2年前 , 9F
b'\x33a' 整個就是 0x33 與 0x61
06/30 20:18, 9F

06/30 20:26, 2年前 , 10F
哇啊啊原來是這樣 感謝樓上三個高手^_^
06/30 20:26, 10F
文章代碼(AID): #1Wt47Ge5 (Python)