Skip to main content

Very stripped down version of Scrott Griffith's Bitstring package.

Project description

micropython-bitstring is a stripped-down version of the Bitstring package by Scott Griffiths that works with MicroPython. It defines a single class Bits for the creation of binary strings. Binary strings created with this module are compatible with the original Bitstring module.

Example:

from bitstring import Bits
s = Bits(float=3.1415, length=32) + Bits(uint=15, length=4) + Bits(bool=True)
assert len(s) == 32 + 4 + 1

The Bits class

The Bits class is a simplified version of the Bits of the same name of the original Bitstring package. The focus is on the creation of binary strings, for instance in IoT devices.

The auto and filename keyword arguments have been removed and only the functionality shown in the example below is supported:

a = Bits(int=-31111, length=32)
b = Bits(int=-31111, length=32)

assert a.len == 32

assert a.int == -31111
assert a.hex == 'ffff8679'
assert a.bin == '11111111111111111000011001111001'
assert a.bytes == b'\xff\xff\x86y'

assert a.all(True, [1,2,3,4]) is True
assert a.all(True, [30]) is False

assert a.any(True, [0,30]) is True
assert a.any(True, [29,30]) is False

assert a.count(1) == 24
assert a.count(0) == 8

assert a.tobytes() == b'\xff\xff\x86y'
assert a[-4:].bin == '1001'

assert a == b

c = a + b
assert c.hex == 'ffff8679ffff8679'

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

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

The MicroPython version has been patched together by Markus Juenemann: <https://github.com/mjuenema/micropython-bitstring>

Project details


Download files

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

Source Distribution

micropython-bitstring-0.1.0.tar.gz (30.3 kB view details)

Uploaded Source

File details

Details for the file micropython-bitstring-0.1.0.tar.gz.

File metadata

File hashes

Hashes for micropython-bitstring-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cb89db59cf5bd84d3d417fe3f325d720751adcf092879f590e5f96bb6fa00b9e
MD5 7394c1381f77a1f5c96b9c5edc7695b8
BLAKE2b-256 ed992d69c10ec3683380b92b2804dabd0717c243198460cfe2ade4ec4971d175

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page