【发布时间】:2020-07-17 15:18:25
【问题描述】:
我正在尝试将 Python 中的 int 数字(当然是 >=0 &&
据我了解,struct.pack 中给出的尺寸是标准尺寸,但不能保证尺寸。如何确保我得到 4 个字节?
我发现使用 ctypes 的一种方法:
byte_repr=bytes(ctypes.c_uint32(data))
这是最蟒蛇的吗?以及返回的方法是什么(对于这个或任何其他解决方案)?
【问题讨论】:
-
除非您正在序列化对象,否则如果您关心 Python 中有多少字节,那么您已经将“pythonic”抛到了窗外。
-
@user10987432 嗯,这不是真的。例如,如果他通过网络以指定的大小发送一些东西,那不是“......把pythonic扔到窗外”
-
@maor10 如果您通过网络发送某些内容,则根据定义,这就是“序列化对象”。
-
好吧,python 中的任何东西都是“对象”,所以这有点争议。他专门询问了一个数字——将数字转换为二进制表示并不是“unpythonic”,这样说有点荒谬
-
“大小不保证”是什么意思(对于struct)?