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
,这将对您有所帮助。