【问题标题】:Binary files parsing libraries for .NET.NET 的二进制文件解析库
【发布时间】:2010-01-18 09:28:48
【问题描述】:

最近我的任务是制作一个二进制文件解析器,但是这是第一次使用 C#/.NET 来解决这类问题。从所需的二进制文件中解析和提取数据非常简单,因为它们的结构很简单(尽管我不得不说这是不寻常的,而不是简单的 C/C++ 方式;而且据我深入研究,.NET 并没有支持以相反顺序存储的值[确定我可能是错的])。有很多更复杂的问题,它们需要更灵活的解析方式,所以我尝试谷歌搜索一些允许处理复杂数据结构并使用结构和字段属性以声明方式描述它们的库。目前我只找到了一个 Java 框架 Preon(herehere)。我看到 Preon 非常适合这些问题,它允许以声明方式描述数据结构,使其非常灵活,但是 Preon 是否有任何用于 .NET 的端口或类似物?

谢谢。

【问题讨论】:

    标签: .net parsing binaryfiles declarative


    【解决方案1】:

    您不妨查看Protocol Buffers。它是一种跨平台的二进制序列化格式;有两个主要的 .NET 实现 - mineMarc Gravell's

    【讨论】:

    • 为什么有两种 Protocal Buffers 的实现,谁做的不同?
    • @Ian:Marc 和我碰巧同时开始研究它。 Marc 的项目对 WCF 更友好,并且是从头开始编写的;我的更接近 Java API。
    • “我的更接近 Java API”——你的意思是 JDK 还是 Preon?
    • @L Sahydariv:两者都不是——我的意思是它更接近于协议缓冲区的 Java API。我们正在讨论我对 .NET 协议缓冲区的实现。
    • 哦,我明白了。 :) 谢谢。 :)
    【解决方案2】:

    Mono 项目似乎实现了 Perl 的 Pack 功能。

    http://www.mono-project.com/Mono_DataConvert

    【讨论】:

      【解决方案3】:

      任何有兴趣将 Preon 移植到 .NET 的人,请随时与我联系。我是 Java Preon 的开发者:wilfred at flotsam dot nl

      【讨论】:

        猜你喜欢
        • 2010-09-30
        • 2015-06-21
        • 1970-01-01
        • 2023-03-31
        • 2021-05-19
        • 1970-01-01
        • 2023-03-11
        • 2020-05-21
        • 1970-01-01
        相关资源
        最近更新 更多