二元数据的简单构造、分析和修改。

thread-bitstring的Python项目详细描述


https://travis-ci.org/scott-griffiths/bitstring.svg?branch=master

比特串模块

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>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaJSonarray不会从SeekBar读取double   使用另一个类从Java中的2D数组打印用户输入   java ClassNotFoundException的原因   spring调用两个方法以返回Java中的不同页面   httpurlconnection Java禁止的代码错误,但浏览器错误(2)   java画布矩阵转换   java:在另一个java映射中使用“Map”作为值   java“未找到用于解密的证书”(Apache CXF,WSSecurity)   java如何查看JTable中选择的行   java在没有xmlwrappers的情况下重复xml元素序列集   java将垂直直方图打印到控制台   java Spring JDBCTemplate:构造不带特殊字符的JSON   java PayPal RestApi获取用户信息