【问题标题】:How to to write binary data in specific format using C#?如何使用 C# 以特定格式写入二进制数据?
【发布时间】:2015-10-25 13:27:46
【问题描述】:

我正在编写 C# 类来导出 Seg-Y 文件以用于教育目的。 Seg-Y 文件基本上是以预定义格式编写的文件,用于存储大量二进制地震数据。在这些文件中,我们在标题中定义了数字数据的格式(例如,IbmFloatingPoint4TwosComplementInteger4TwosComplementInteger2FixedPointWithGain4IeeeFloatingPoint4 等),以便读者可以相应地读取文件。给定其中一种格式,如何确保正确写入数据?

现在我正在使用BinaryWriter.Write(Value) 在文件中写入数据,但我不确定使用哪种数字格式来写入数据。

谢谢

【问题讨论】:

    标签: c# c#-4.0 binary-data binarywriter


    【解决方案1】:

    Unplugged . Segy 库支持读取这些格式,因此您可以查看其工作原理并针对写入进行调整。

    【讨论】:

    • 我只使用 Unplugged.Segy 库来读取文件。在这个库中,他们使用 Binaryreader 类的默认方法,例如 ReadSingleIbm(用于 IbmFloatingPoint4)、ReadInt32(用于 TwosComplementInteger4)、ReadInt16(用于 TwosComplementInteger2)等来读取特定数据,但 Binarywriter 没有任何此类方法。
    • ReadSingleIbm 之类的东西不是标准 BinaryReader 类的一部分。看起来它们来自引用的 UnpluggedIbmBits 库。对您来说好消息是,它同时具有 BinaryReaderExtensionMethods.csBinaryWriterExtensionMethods
    猜你喜欢
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多