0

Recently I had a task to make a binary files parser, however it was the first time of using C#/.NET for this kind of problems. It was really simple to parse and extract data from the required binary files because of their simple structure (though I have to say it was unusual rather than the simple way C/C++; also as far as I digged into it, .NET does not support the values stored in reverse order [sure I can be wrong]). There are a lot of problems that are more complex and they require more flexible way of parsing, so I tried to google for some libraries that allow to process complex data structures and to describe them in declarative way with structure and fields attributes. At this moment I found a Java framework Preon only (here and here). I see that Preon is pretty good for these problems, it allows to describe data structure declaratively making it very flexible, but are there any ports or analogues of Preon for .NET?

Thanks.

Community
  • 1
  • 1
Lyubomyr Shaydariv
  • 20,327
  • 12
  • 64
  • 105

3 Answers3

3

You may wish to look at Protocol Buffers. It's a cross-platform binary serialization format; there are two major .NET implementations - mine and Marc Gravell's.

Jon Skeet
  • 1,421,763
  • 867
  • 9,128
  • 9,194
  • why are there two implementaions of Protocal Buffers and who do this differ? – Ian Ringrose Jan 18 '10 at 09:37
  • 1
    @Ian: Marc and I happened to start working on it at the same time. Marc's project is more WCF-friendly, and was written from scratch; mine is closer to the Java API. – Jon Skeet Jan 18 '10 at 09:46
  • "mine is closer to the Java API" - did you mean JDK or exactly Preon? – Lyubomyr Shaydariv Jan 18 '10 at 09:52
  • 1
    @L Sahydariv: Neither - I meant it's closer to the Java API for Protocol Buffers. We're talking about my implementation of Protocol Buffers for .NET. – Jon Skeet Jan 18 '10 at 10:05
2

The Mono project seems to have implemented Perl's Pack function.

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

leppie
  • 115,091
  • 17
  • 196
  • 297
1

Anyone interested in porting Preon to .NET, feel free to to contact me. I'm the developer of Java Preon: wilfred at flotsam dot nl

Wilfred Springer
  • 10,869
  • 4
  • 55
  • 69