我有一个具有以下结构的 C++ 应用程序写入文件。现在我需要使用 python 解组它们,这里的基本问题是如何pragma pack
在 python 中反映选项。
C++ 结构
#pragma pack(1)
struct abc
{
unsigned char r1;
unsigned char r2;
unsigned char p1;
unsigned int id;
};
#pragma pack()
现在,结构大小是7 not 8
,这个数据被写入一个数据文件。如何使用 python 检索这些数据。
注意:
1.我使用的是ctypes,上面的结构是一个示例结构。
ctypes 使用结构和联合的本机字节顺序。要构建具有非本地字节顺序的结构,您可以使用 BigEndianStructure、LittleEndianStructure、BigEndianUnion 和 LittleEndianUnion 基类之一。这些类不能包含指针字段
以上来自 python 文档的信息,并未深入探讨。