Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 4.4.0 instead.
Reason given by maintainers: Some significant regressions found.

bitstring is a pure Python module designed to help make the creation and analysis of binary data as simple and natural as possible.

Bitstrings can be constructed from integers (big and 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.

bitstring is open source software, and has been released under the MIT licence.

This module works in both Python 2.7 and Python 3.6+.

Installation

Probably all you need to do is:

pip install bitstring

Documentation

The manual for the bitstring module is available here <https://bitstring.readthedocs.org>. It contains a walk-through of all the features and a complete reference section.

It is also available as a PDF at <https://readthedocs.org/projects/bitstring/downloads/pdf/latest/>.

Simple Examples

Creation:

>>> a = BitArray(bin='00101')
>>> b = Bits(a_file_object)
>>> c = BitArray('0xff, 0b101, 0o65, uint:6=22')
>>> d = pack('intle:16, hex=a, 0b1', 100, a='0x34f')
>>> e = pack('<16h', *range(16))

Different interpretations, slicing and concatenation:

>>> a = BitArray('0x1af')
>>> a.hex, a.bin, a.uint
('1af', '000110101111', 431)
>>> a[10:3:-1].bin
'1110101'
>>> '0b100' + 3*a
BitArray('0x835e35e35, 0b111')

Reading data sequentially:

>>> b = BitStream('0x160120f')
>>> b.read(12).hex
'160'
>>> b.pos = 0
>>> b.read('uint:12')
352
>>> b.readlist('uint:12, bin:3')
[288, '111']

Searching, inserting and deleting:

>>> c = BitArray('0b00010010010010001111')   # c.hex == '0x1248f'
>>> c.find('0x48')
(8,)
>>> c.replace('0b001', '0xabc')
>>> c.insert('0b0000', pos=3)
>>> del c[12:16]

Unit Tests

The 500+ unit tests should all pass for Python 2.7 and later. To run them, from the test directory run:

python -m unittest discover

The bitstring module has been released as open source under the MIT License. Copyright (c) 2006 Scott Griffiths

For more information see the project’s homepage on GitHub: <https://github.com/scott-griffiths/bitstring>

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitstring-3.1.8.tar.gz (198.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

bitstring-3.1.8-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

bitstring-3.1.8-py2-none-any.whl (38.3 kB view details)

Uploaded Python 2

File details

Details for the file bitstring-3.1.8.tar.gz.

File metadata

  • Download URL: bitstring-3.1.8.tar.gz
  • Upload date:
  • Size: 198.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.9

File hashes

Hashes for bitstring-3.1.8.tar.gz
Algorithm Hash digest
SHA256 c2e327184804d74847ff6c4eb8a750c250d98cf32015311e4a791d8b5264625e
MD5 3bbbac6f85097023b3ae24bb20082a51
BLAKE2b-256 f60a0c9240d16d1cbe0009d27113c29d4c80b38779cc52b0512c2a9eb35f913f

See more details on using hashes here.

File details

Details for the file bitstring-3.1.8-py3-none-any.whl.

File metadata

  • Download URL: bitstring-3.1.8-py3-none-any.whl
  • Upload date:
  • Size: 38.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.9

File hashes

Hashes for bitstring-3.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 7b736320a2cfc6f009cd364dbd4346f67391637dabfa2bfa6e8299a80c298619
MD5 915d037494c567be884a341b8d974878
BLAKE2b-256 138f8fe4131f9a5feb2228789ca2130c776b3685fbb63bcefb2dec2d36aae6a9

See more details on using hashes here.

File details

Details for the file bitstring-3.1.8-py2-none-any.whl.

File metadata

  • Download URL: bitstring-3.1.8-py2-none-any.whl
  • Upload date:
  • Size: 38.3 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.9

File hashes

Hashes for bitstring-3.1.8-py2-none-any.whl
Algorithm Hash digest
SHA256 3ae43c75c1839e1734b37eceba69353eb60dad1d4d7b3a07641b43fd44f02d65
MD5 f694dd9dd422f25b3c895984e6f40251
BLAKE2b-256 1314a5bfb4fad1e58d6ca2609b2e2aed943da03ecd0f91228dd563df2c006971

See more details on using hashes here.

Release history Release notifications | RSS feed

4.4.0

2 files

4.3.1

2 files

4.3.0

2 files

4.2.3

2 files

4.2.2

2 files

4.2.1

2 files

4.2.0

2 files

4.1.4

2 files

4.1.3

2 files

4.1.2

2 files

4.1.1

2 files

4.1.0

2 files

4.0.2

2 files

4.0.1

2 files

4.0.0

2 files

4.0.0b1

2 files

3.1.9

3 files

This release

3.1.8 This release

3 files

3.1.7

1 file

3.1.6

3 files

3.1.5

1 file

3.1.4

1 file

3.1.3

3.1.2

1 file

3.1.1

1 file

3.1.0

1 file

3.0.2

1 file

3.0.1

1 file

3.0.0

1 file

2.2.0

1 file

2.1.1

1 file

2.1.0

1 file

2.0.3

1 file

2.0.2

1 file

1.3.0

1 file

1.2.0

1 file

1.1.3

1 file

1.1.2

1 file

1.1.1

1 file

1.1.0

1 file

1.0.0

1 file

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.3

1 file

0.4.2

1 file

0.4.0

2 files

0.3.2

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page