C # -Äquivalent von Pythons struct.pack
-
10-07-2019 - |
Frage
Gibt es eine Bibliothek für C #, die eine ähnliche Funktionalität wie Pythons struct
ermöglicht aus dem Standardbibliothek ?
Man kann die Struktur Bibliothek emulieren ganz eng mit echten ausgerichtet structs. Aber ich habe noch keinen Weg finden, direkt die Endianess in C # steuern ‚s structs (C #‘ s structs scheint mehr zu COM-Interop ausgerichtet werden, und weniger in Richtung Allzweck binäre Verpackung).
Lösung
Der nächste Äquivalent würde wahrscheinlich zu benutzen BinaryWriter
Schreiben in eine MemoryStream
oder BitConverter
für eine einmalige Umwandlung eines einzelnen Wertes in einen Byte-Array.
Wenn Sie die endianness davon steuern möchten, können Sie meine EndianBinaryWriter / EndianBitConverter von MiscUtil verwenden . Ein zusätzliches Merkmal meiner EndianBitConverter
ist, dass Sie in einem bestimmten Teil eines vorhandenen Arrays umwandeln kann, die Sie würde helfen, wenn Sie wollten Port selbst struct.pack
.