Binary Data for Humans
A Python library to manage binary data as bitstreams.
Bitstream three main features:
- It is easy to use since the bitstream abstraction is simple.
- It works seamlesly at the bit and byte level.
- It supports Python, NumPy and user-defined types.
See the documentation Overview section for more details.
Make sure that Python 2.7 is installed and that pip, NumPy and a C compiler are available, then install bitstream with
$ pip install bitstream
For more details, refer to the documentation.
First, the mandatory “Hello World!” example:
>>> from bitstream import BitStream >>> BitStream("Hello World!") 010010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001
The basic API is made of three methods only:
- stream = BitStream() to create an empty stream.
- stream.write(data, type) to write data data of type type.
- data = stream.read(type, n) to read n items of type type.
>>> stream = BitStream() # <empty> >>> stream.write(True, bool) # 1 >>> stream.write(False, bool) # 10 >>> from numpy import int8 >>> stream.write(-128, int8) # 1010000000 >>> stream.write("AB", str) # 10100000000100000101000010 >>> stream.read(bool, 2) # 100000000100000101000010 [True, False] >>> stream.read(int8, 1) # 0100000101000010 array([-128], dtype=int8) >>> stream.read(str, 2) # <empty> "AB"
Refer to the documentation Overview section for more elementary examples.
Refer to Contributing in the documentation.
Bitstream is open source software released under the MIT license.
Copyright (c) 2012-2017 Sébastien Boisgérault