C # equivalente a struct.pack de python
-
10-07-2019 - |
Pergunta
Existe uma biblioteca para C # que permite funcionalidade semelhante à struct
de python do biblioteca padrão ?
Um pode emular a biblioteca struct bastante estreita colaboração com estruturas alinhadas real. Mas eu não encontrei ainda alguma maneira de controlar diretamente o endianess em C # 's estruturas (o C #' s estruturas parece ser mais orientada para interoperabilidade COM, e menos para fins gerais de embalagem binário).
Solução
O equivalente mais próximo seria provavelmente usar BinaryWriter
escrevendo em um MemoryStream
, ou BitConverter
para um one-off conversão de um único valor para uma matriz de bytes.
Se você quiser controlar o endianness disso, você pode usar o meu EndianBinaryWriter / EndianBitConverter de MiscUtil . Um recurso extra do meu EndianBitConverter
é que você pode converter em uma parte específica de uma matriz existente, que iria ajudá-lo se você queria struct.pack
port si mesmo.