bitstring is a pure Python module designed to help make the creation, manipulation and analysis of binary data as simple and natural as possible.
BitStrings can be constructed from integers (big and
... [More]
little endian), hex, octal, binary, strings or files. They can be sliced, joined, reversed, inserted into, overwritten, etc. with simple functions or slice notation. They can also be read from, searched and replaced, and navigated in, similar to a file or stream.
Internally the data is efficiently stored as byte arrays, the module has been optimized for speed, and excellent code coverage is given by over 300 unit tests. It is available for Python 2.4+ and for Python 3.
To get updates on new releases you can subscribe to the project on freshmeat.
DocumentationThe manual for the bitstring module is available as a PDF. It contains a walk-through of all the features and a complete reference section.
You can also view this on the Wiki.
ExamplesCreation:
>>> a = BitString(bin='00101')
>>> b = BitString(a_file_object)
>>> c = BitString('0xff, 0b101, 0o65, uint:6=22')
>>> d = pack('intle:16, hex=a, 0b1', 100, a='0x34f')
>>> e = pack('For full details on the API changes and for earlier changes, see the release notes.
There is one version for Python 2.4 / 2.5 / 2.6 (version 1.0.0) and another for Python 3.0 / 3.1 (version 1.0.1). [Less]