Pythonのstruct.packに相当するC#
-
10-07-2019 - |
質問
実際に整列された構造体を使用して、構造体ライブラリを非常に厳密にエミュレートできます。しかし、C#の構造体のエンディアンネスを直接制御する方法はまだ見つかりませんでした(C#の構造体は、COM相互運用に向いているようで、汎用バイナリパッキングには向いていません)。
解決
最も近いものは、おそらく BinaryWriterを使用することです。
MemoryStreamへの書き込み
、または BitConverter
単一値からバイト配列への1回限りの変換。
そのエンディアンを制御したい場合は、 MiscUtil からEndianBinaryWriter / EndianBitConverterを使用できます。 a>。 EndianBitConverter
の追加機能の1つは、既存の配列の特定の部分に変換できることです。これは、 struct.pack
を自分で移植したい場合に役立ちます。
所属していません StackOverflow