解析.NET库的二进制文件

时间:2010-01-18 09:28:48

标签: .net parsing binaryfiles declarative

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

感谢。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

请参阅http://www.mono-project.com/Mono_DataConvert

答案 2 :(得分:1)

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