Équivalent C # de struct.pack de python
-
10-07-2019 - |
Question
Existe-t-il une bibliothèque pour C # qui offre une fonctionnalité similaire à la struct
de python à partir de bibliothèque standard ?
On peut émuler la bibliothèque de structures assez étroitement avec de vraies structures alignées. Mais je n’ai encore trouvé aucun moyen de contrôler directement l’endianesse dans les structures de C # (les structures de C # semblent être davantage orientées vers COM interop, et moins vers une compression binaire à usage général).
La solution
L'équivalent le plus proche serait probablement d'utiliser BinaryWriter
en écrivant dans un MemoryStream
ou BitConverter
pour une conversion unique d'une valeur unique en tableau d'octets.
Si vous voulez contrôler la finalité de cela, vous pouvez utiliser mon EndianBinaryWriter / EndianBitConverter de MiscUtil . Une caractéristique supplémentaire de mon EndianBitConverter
est que vous pouvez convertir en une partie spécifique d'un tableau existant, ce qui vous aiderait si vous vouliez porter struct.pack
vous-même.