最近我有一个任务是做一个二进制文件解析器,但这是第一次使用C#/.NET来解决这类问题。从所需的二进制文件中解析和提取数据真的很简单,因为它们的结构很简单(尽管我必须说这是不寻常的,而不是C/C++的简单方式;而且据我深入研究,.NET不支持以相反顺序存储的值,这肯定是错误的)。有很多问题更复杂,它们需要更灵活的解析方式,所以我尝试在google上搜索一些库,这些库允许处理复杂的数据结构,并用结构和字段属性以声明的方式描述它们。此时,我发现只有一个Java框架(here和here)。我发现Preon很好地解决了这些问题,它允许以声明的方式描述数据结构,这使得它非常灵活,但是有没有针对.NET的Preon的任何端口或类似物?
谢谢。
发布于 2010-01-18 17:31:04
你可能想看看Protocol Buffers。它是一种跨平台的二进制序列化格式;有两种主要的.NET实现- mine和Marc Gravell's。
发布于 2010-01-18 17:34:54
Mono项目似乎已经实现了Perl的Pack函数。
参见http://www.mono-project.com/Mono_DataConvert。
发布于 2010-01-19 15:44:47
任何对将Preon移植到.NET感兴趣的人,请随时联系我。我是Java Preon的开发者: wilfred at flotsam dot nl
https://stackoverflow.com/questions/2084983
复制相似问题