Projects / bdec


bdec is a set of tools for decoding binary files given a specification written in a flexible XML-based syntax. It supports decoding to XML or Python objects, and can generate quality C decoders and encoders.

Operating Systems

Recent releases

  •  10 Jul 2011 09:31

    Release Notes: More than one child is allowed in a sequenceof. Const correctness was added to compiled C decoders. The start of a Microsoft Word specification was added. More detailed copyright and license information was added. The "&" character is correctly escaped when printing XML. Build warnings when compiling with gcc 4.6 were fixed.

    •  06 Apr 2011 08:46

      Release Notes: Linking against the variable integer files from C++ was fixed. Copyright and license information from the PRESENSE changes were fixed.

      •  15 Mar 2011 07:31

        Release Notes: Encoding data structures to binary is now supported. This includes encoding from Python instances, XML, and C structures. Specifications can now be split into multiple files by simply passing all of the specification files to the decode/encode/compile programs.

        •  02 Feb 2010 14:17

          Release Notes: Sequence values are now correctly decoded in the instance decoder. Fixes were made to references used in conditional and constraint expressions. Missing reference errors are reported from the entry that defined the reference. An exception is no longer thrown when choosing and there is not enough data available. Sequence entries are decoded with both a minimum and a maximum. Conditional references are correctly handled. Data objects now support non-seekable files such as stdin.

          •  05 Dec 2009 14:29

            Release Notes: The C representation for choice entries whose children don't contain data is now an enum. Previously, these entries generated a union without members, which is invalid C/C++ (and caused memory errors with g++). The "bcompile" script was fixed as it was crashing. Various C compilation fixes were made. The tests now use gcc instead of g++. The range of 64-bit values was fixed.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.