二元数据的简单构造、分析和修改。
thread-bitstring的Python项目详细描述
比特串模块
bitstring是一个纯python模块,旨在帮助 尽可能简单自然地创建和分析二进制数据。
位字符串可以由整数(大尾数和小尾数)、十六进制 八进制,二进制,字符串或文件。它们可以被切割,连接,反转, 用简单的函数或切片符号插入、覆盖等。 它们还可以被读取、搜索、替换和导航, 类似于文件或流。
Bitstring是开源软件,在麻省理工学院发布 执照。
这个模块在Python2.7和Python3中都可以工作。
文件
Bitstring模块的手册在这里提供 <;http://packages.python.org/bitstring>;。它包含了所有 功能和完整的参考章节。
作为源代码下载的一部分,它也可以作为pdf文件提供。
安装
如果您下载并解压缩了包,则需要运行 setup.py带有'install'参数的脚本:
python setup.py install
您可能需要在类unix系统上以root权限运行此命令。
如果您尚未下载软件包,则可以尝试:
easy_install bitstring
或
pip install bitstring
简单示例
创建:
>>> 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))
不同的解释、切片和连接:
>>> a = BitArray('0x1af') >>> a.hex, a.bin, a.uint ('1af', '000110101111', 431) >>> a[10:3:-1].bin '1110101' >>> 3*a + '0b100' BitArray('0o0657056705674')
按顺序读取数据:
>>> b = BitStream('0x160120f') >>> b.read(12).hex '160' >>> b.pos = 0 >>> b.read('uint:12') 352 >>> b.readlist('uint:12, bin:3') [288, '111']
搜索、插入和删除:
>>> c = BitArray('0b00010010010010001111') # c.hex == '0x1248f' >>> c.find('0x48') (8,) >>> c.replace('0b001', '0xabc') >>> c.insert('0b0000') >>> del c[12:16]
单元测试
对于Python2.7和更高版本,400多个单元测试都应该通过。
bitstring模块在mit许可下作为开源发布。 版权所有(c)2016 Scott Griffiths
有关更多信息,请参见github上的项目主页: <;https://github.com/scott-griffiths/bitstring>;