[問題] 如何將int32轉成bytes

看板Python作者 (要有決心啊)時間2年前 (2021/10/02 20:54), 編輯推噓2(204)
留言6則, 5人參與, 2年前最新討論串1/1
我現在想把一個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

10/02 21:27, 2年前 , 1F
用struct的pack
10/02 21:27, 1F

10/02 21:31, 2年前 , 2F
to_bytes?
10/02 21:31, 2F

10/03 00:42, 2年前 , 3F
感謝一樓的方法
10/03 00:42, 3F

10/03 03:36, 2年前 , 4F

10/03 03:48, 2年前 , 5F
感謝四樓的說明 二樓的方法更適合我的應用 感謝!!
10/03 03:48, 5F

10/04 13:56, 2年前 , 6F
二樓正解
10/04 13:56, 6F
文章代碼(AID): #1XM5QNXY (Python)