C # equivalente al struct.pack de python
-
10-07-2019 - |
Pregunta
¿Hay una biblioteca para C # que permita una funcionalidad similar a la struct
de python desde biblioteca estándar ?
Se puede emular la biblioteca de estructuras muy de cerca con estructuras alineadas reales. Pero todavía no encontré ninguna forma de controlar directamente la endianess en las estructuras de C # (las estructuras de C # parecen estar más orientadas a la interoperabilidad COM y menos al empaque binario de propósito general).
Solución
El equivalente más cercano probablemente sería usar BinaryWriter
escribiendo en un MemoryStream
o BitConverter
para una conversión única de un valor único en una matriz de bytes.
Si desea controlar la endianness de eso, puede usar mi EndianBinaryWriter / EndianBitConverter desde MiscUtil . Una característica adicional de mi EndianBitConverter
es que puede convertir en una parte específica de una matriz existente, lo que le ayudaría si desea portar struct.pack
usted mismo.