3
是否有一個C#庫允許類似於Python的struct
的standard library?C#等價於python的struct.pack
人們可以用真正對齊的結構非常密切地模擬結構庫。但是我還沒有找到任何方法來直接控制C#結構中的永恆性(C#的結構似乎更多地針對COM互操作,而不是針對通用二進制打包)。
是否有一個C#庫允許類似於Python的struct
的standard library?C#等價於python的struct.pack
人們可以用真正對齊的結構非常密切地模擬結構庫。但是我還沒有找到任何方法來直接控制C#結構中的永恆性(C#的結構似乎更多地針對COM互操作,而不是針對通用二進制打包)。
最接近的等效值可能是使用BinaryWriter
寫入MemoryStream
或BitConverter
,以將單個值一次性轉換爲字節數組。
如果你想控制它的字節順序,你可以使用MiscUtil的EndianBinaryWriter/EndianBitConverter。我的EndianBitConverter
的一個額外功能是,您可以將其轉換爲現有陣列的特定部分,如果您想自己端口struct.pack
,這將對您有所幫助。