[问题] 如何将int32转成bytes

楼主: andwwww (要有决心啊)   2021-10-02 20:54:44
我现在想把一个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'
不知道有没有更好的方法,感谢帮忙!!
作者: s0914714 (YA)   2021-10-02 21:27:00
用struct的pack
作者: Woqeker (窝颗ker)   2021-10-02 21:31:00
to_bytes?
楼主: andwwww (要有决心啊)   2021-10-03 00:42:00
感谢一楼的方法
作者: LP9527 (ㄊㄇ抽菸都去)   2021-10-03 03:36:00
楼主: andwwww (要有决心啊)   2021-10-03 03:48:00
感谢四楼的说明 二楼的方法更适合我的应用 感谢!!
作者: leolarrel (真.粽子无双)   2021-10-04 13:56:00
二楼正解

Links booklink

Contact Us: admin [ a t ] ucptt.com