【发布时间】:2010-12-21 13:17:22
【问题描述】:
是否有一个用于 C# 的库,它允许与来自 standard library 的 python 的 struct 类似的功能?
可以用真正的对齐结构非常接近地模拟结构库。但是我还没有找到任何方法来直接控制 C# 结构中的字节顺序(C# 的结构似乎更倾向于 COM 互操作,而不是通用二进制打包)。
【问题讨论】:
标签: c# binary struct bit-packing
是否有一个用于 C# 的库,它允许与来自 standard library 的 python 的 struct 类似的功能?
可以用真正的对齐结构非常接近地模拟结构库。但是我还没有找到任何方法来直接控制 C# 结构中的字节顺序(C# 的结构似乎更倾向于 COM 互操作,而不是通用二进制打包)。
【问题讨论】:
标签: c# binary struct bit-packing
最接近的等价物可能是使用BinaryWriter 写入MemoryStream 或BitConverter 将单个值一次性转换为字节数组。
如果你想控制它的字节顺序,你可以使用我的来自MiscUtil 的 EndianBinaryWriter/EndianBitConverter。我的EndianBitConverter 的一个额外功能是,您可以转换为现有数组的特定部分,如果您想自己移植struct.pack,这将对您有所帮助。
【讨论】: