Ich habe eine C++ - Anwendung mit unten Struktur in Datei geschrieben. Jetzt muss ich sie mit Python entpacken, Das grundlegende Problem hier ist, wie die pragma pack
Option in Python widerspiegeln.Python Ctypes Pragma-Pack für Byte ausgerichtet Lesen
C++ Struktur
#pragma pack(1)
struct abc
{
unsigned char r1;
unsigned char r2;
unsigned char p1;
unsigned int id;
};
#pragma pack()
nun die Strukturgröße 7 not 8
ist, werden diese Daten in eine Datendatei geschrieben. Wie lade ich diese Daten mit Python ab?
Hinweis:
1. Ich verwende Ctypes, und die obige Struktur ist eine Beispielstruktur.
ctypes nutzt die native Byte-Reihenfolge für Strukturen und Unions. Um Strukturen mit nicht-nativer Byte-Reihenfolge zu erstellen, können Sie eine der Basisklassen BigEndianStructure, LittleEndianStructure, BigEndianUnion und LittleEndianUnion verwenden. Diese Klassen können nicht Zeigerfelder
Die obigen Informationen aus Python-Dokumentation enthalten, tauchen nicht in Details.
Dank. Es funktionierte! –