最近我有一个创建二进制文件解析器的任务,但是这是第一次使用C#/ .NET来解决这类问题。由于结构简单,从所需的二进制文件中解析和提取数据非常简单(虽然我不得不说它是不寻常的而不是简单的C / C ++方式;而且就我所深入而言,.NET不会支持以相反顺序存储的值[确定我可能是错的])。有很多问题比较复杂,需要更灵活的解析方法,所以我试图谷歌一些库,它们允许处理复杂的数据结构,并以声明的方式用结构和字段属性来描述它们。此刻我只找到了一个Java框架Preon(here和here)。我看到Preon非常适合这些问题,它允许以声明方式描述数据结构,使其非常灵活,但是Preon for .NET是否有任何端口或类似物?
感谢。
答案 0 :(得分:3)
您可能希望查看Protocol Buffers。它是一种跨平台的二进制序列化格式;有两个主要的.NET实现 - mine和Marc Gravell's。
答案 1 :(得分:2)
Mono项目似乎已经实现了Perl的Pack功能。
答案 2 :(得分:1)
任何有兴趣将Preon移植到.NET的人都可以随时与我联系。我是Java Preon的开发者:wilfred at flotsam dot nl