Domanda

Esiste una libreria per C # che consente funzionalità simili a struct di python dal libreria standard ?

Si può emulare abbastanza attentamente la libreria struct con strutture allineate reali. Ma non ho ancora trovato alcun modo per controllare direttamente l'endianità nelle strutture di C # (le strutture di C # sembrano essere più orientate verso l'interoperabilità COM, e meno verso l'imballaggio binario per scopi generici).

È stato utile?

Soluzione

L'equivalente più vicino sarebbe probabilmente usare BinaryWriter scrivendo in un MemoryStream o BitConverter per una conversione una tantum di un singolo valore in un array di byte.

Se vuoi controllare l'endianness, puoi usare il mio EndianBinaryWriter / EndianBitConverter da MiscUtil . Una caratteristica extra del mio EndianBitConverter è che puoi convertire in una porzione specifica di un array esistente, il che ti sarebbe d'aiuto se volessi portare struct.pack tu stesso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top