我在这里很好奇,但自从我学习python以来,我就一直在使用bytes()将事物转换成字节。直到最近我才看到struct.pack()。我没有费心学习如何使用它,因为我认为它实际上做了与bytes()相同的事情。但似乎很多人更喜欢使用struct.pack()。为什么?一个比另一个有什么优势?
发布于 2014-07-24 22:00:42
bytes()确实做了这个名字所暗示的事情:
返回一个新的“字节”对象,它是0 <= x<256个范围内不可变的整数序列。
struck.pack()做了一些非常不同的事情:
这个模块执行Python值和C结构之间的转换,C结构表示为Python字符串
虽然对于某些输入,这些可能是等价的,但它们完全不是相同的操作。struct.pack()本质上是生成一个字节字符串,它表示内存中的producing .它对于序列化/反序列化数据很有用。
https://stackoverflow.com/questions/24944626
复制相似问题