123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- ================
- bitstring module
- ================
- **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 version supports Python 2.6 and later (including Python 3).
- For Python 2.4 and 2.5 you should instead download version 1.0.
- Documentation
- -------------
- The manual for the bitstring module is available here
- <http://packages.python.org/bitstring>. It contains a walk-through of all
- the features and a complete reference section.
- It is also available as a PDF as part of the source download.
- Installation
- ------------
- If you have downloaded and unzipped the package then you need to run the
- ``setup.py`` script with the 'install' argument::
- python setup.py install
- You may need to run this with root privileges on Unix-like systems.
- If you haven't yet downloaded the package then you can just try::
- easy_install bitstring
- or ::
- pip install bitstring
- 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'
- >>> 3*a + '0b100'
- BitArray('0o0657056705674')
- 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')
- >>> del c[12:16]
- Unit Tests
- ----------
- The 400+ unit tests should all pass for Python 2.6 and later.
- ----
- The bitstring module has been released as open source under the MIT License.
- Copyright (c) 2014 Scott Griffiths
- For more information see the project's homepage on Google Code:
- <http://python-bitstring.googlecode.com>
|