Binary Data for Humans
Project description
Bitstream
A Python library to manage binary data as bitstreams.
Overview
Bitstream three main features:
It is easy to use since the bitstream abstraction is simple.
It works seamlessly at the bit and byte level.
It supports Python, NumPy and user-defined types.
See the documentation Overview section for more details.
Quickstart
Make sure that Python 2.7 or Python 3.6 to 3.9 are 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.
Examples
First, the mandatory “Hello World!” example:
>>> from bitstream import BitStream >>> BitStream(b"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.
For example:
>>> stream = BitStream() # <empty> >>> stream.write(True, bool) # 1 >>> stream.write(False, bool) # 10 >>> from numpy import int8 >>> stream.write(-128, int8) # 1010000000 >>> stream.write(b"AB", bytes) # 10100000000100000101000010 >>> stream.read(bool, 2) # 100000000100000101000010 [True, False] >>> stream.read(int8, 1) # 0100000101000010 array([-128], dtype=int8) >>> stream.read(bytes, 2) # <empty> b'AB'
Refer to the documentation Overview section for more elementary examples.
Contributing
Refer to Contributing in the documentation.
Support
If you need some support with bitstream and you haven’t found a solution to your problem in the documentation, please open an issue in the GitHub issue tracker.
If you don’t feel like you problem belongs there, you can send me an e-mail instead; please include “bitstream” in the subject. You will find my e-mail address in my GitHub profile.
In both cases, you will need to sign into GitHub (and join GitHub if you don’t already have an account).
License
Bitstream is open source software released under the MIT license.
Copyright (c) 2012-2021 Sébastien Boisgérault
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file bitstream-3.0.1.tar.gz
.
File metadata
- Download URL: bitstream-3.0.1.tar.gz
- Upload date:
- Size: 210.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfd7aa4f87ce339f080b1462c2d2401c6cac5f190cb97d84353070d6c55cab1d |
|
MD5 | 52a141046300d83637f752d74f4603e9 |
|
BLAKE2b-256 | 85bc60cc42dbc7d2ab0ff6caefd1a28c322f8c769261c48f1e67fd727c01e5fc |