bdec 0.7.2

bdec project is an attempt to specify arbitrary binary formats in a markup language.

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!

What's new in bdec 0.7.0:

  • 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.
Read full changelog
send us
an update
BSD License 
2.6/5 10
Henry Ludemann
ROOT \ Utilities
Binary formats typically aren't easily specified; they are rarely specified in a high level marked language such as ASN.1 (and such specifications cannot be retro-fitted to existing binary formats). The bdec project is an attempt to specify arbitrary binary formats in a markup language, and create a decoder and encoder automatically for that binary format given the high level specification.

The bdec xml specification uses constructs based on the constructs found in ASN.1.


The bdec library consists of a decoding / encoding library and command line decoding and encoding applications. Given a specification, the command line application will create an xml representation of the data contained in the binary file, and can (for some representations) convert the xml back to binary.

The library is capable of creating such xml output, or optionally a python object representing the constructs contained in the binary data.

For example; the xml representation of a FAT bootsector generated by running:

dd if=/dev/sda1 bs=512 count=1 | decode bootsector.xml

Last updated on July 11th, 2011

feature list

#arbitrary binary #markup language #decoding library #binary #markup #decoding #encoding

Add your review!