Python struct.pack()对网络数据包有什么作用

Python struct.pack()对网络数据包有什么作用,python,struct,network-programming,Python,Struct,Network Programming,python官方文档提到“struct”模块用于在python和二进制数据结构之间进行转换。 这里的二进制数据结构指的是什么?据我所知,数据结构是否指网络相关C函数中定义的数据包结构 struct.pack(fmt,v1,v2)是否以fmt格式构建字段v1,v2的C等效结构??例如,如果我正在构建一个Ip数据包,我的fmt是Ip头,值是Ip头feilds? 我指的是理解如何构建网络数据包。二进制数据结构指的是内存中数据的布局。Python的对象远比简单的Cstruct复杂。Python对象中有大

python官方文档提到“struct”模块用于在python和二进制数据结构之间进行转换。 这里的二进制数据结构指的是什么?据我所知,数据结构是否指网络相关C函数中定义的数据包结构

struct.pack(fmt,v1,v2)是否以fmt格式构建字段v1,v2的C等效结构??例如,如果我正在构建一个Ip数据包,我的fmt是Ip头,值是Ip头feilds?
我指的是理解如何构建网络数据包。

二进制数据结构指的是内存中数据的布局。Python的对象远比简单的C
struct
复杂。Python对象中有大量的头数据,这使得Python解释器更容易完成常见任务


你的解释大体上是正确的。另一个需要注意的重要事项是,我们指定了一个特定的字节顺序,它可能与标准C结构使用的字节顺序相同,也可能不同(这取决于您的机器体系结构)。

谢谢。是的,我确实理解字节顺序背后的原理。