看板 Python 關於我們 聯絡資訊
我現在想把一個integer 32轉成bytes, 但似乎都查不到比較簡單直接的作法, 我現在是寫成一個function, def Int32toBytes(Number) B1 = chr(Number // 2 ** 24).encode('latin1') Q1 = Number % 2 ** 24 B2 = chr(Q1 // 2 ** 16).encode('latin1') Q2 = Q1 % 2 ** 16 B3 = chr(Q2 // 2 ** 8).encode('latin1') Q3 = Q2 % 2 ** 8 B4 = chr(Q3).encode('latin1') B = B1 + B2 + B3 + B4 return B 譬如我執行 Int32toBytes(3),就可以得到 b'\x00\x00\x00\x03' Int32toBytes(1000),就可以得到 b'\x00\x00\x03\xe8' 不知道有沒有更好的方法,感謝幫忙!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.253.43 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1633179287.A.862.html
s0914714: 用struct的pack 10/02 21:27
Woqeker: to_bytes? 10/02 21:31
andwwww: 感謝一樓的方法 10/03 00:42
LP9527: https://i.imgur.com/ALyPV5k.jpg 10/03 03:36
andwwww: 感謝四樓的說明 二樓的方法更適合我的應用 感謝!! 10/03 03:48
leolarrel: 二樓正解 10/04 13:56