English 中文(简体)
Binary files parsing libraries for .NET
原标题:

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.

最佳回答

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.

问题回答

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

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

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





相关问题
Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How do I compare two decimals to 10 decimal places?

I m using decimal type (.net), and I want to see if two numbers are equal. But I only want to be accurate to 10 decimal places. For example take these three numbers. I want them all to be equal. 0....

Exception practices when creating a SynchronizationContext?

I m creating an STA version of the SynchronizationContext for use in Windows Workflow 4.0. I m wondering what to do about exceptions when Post-ing callbacks. The SynchronizationContext can be used ...

Show running instance in single instance application

I am building an application with C#. I managed to turn this into a single instance application by checking if the same process is already running. Process[] pname = Process.GetProcessesByName("...

How to combine DataTrigger and EventTrigger?

NOTE I have asked the related question (with an accepted answer): How to combine DataTrigger and Trigger? I think I need to combine an EventTrigger and a DataTrigger to achieve what I m after: when ...

热门标签