人性化地处理二进制数据:Bitstream

2018 年 3 月 17 日 Python程序员

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。


Bitstream 是一个python的第三方库,以位流的形式管理二进制数据:

如果你需要处理现在已知的二进制文件格式、设计自己需要的二进制格式、或探索数据压缩算法等等,但python标准库满足不了你的需要,这个时候可以试试Bitstream。可以查看 example applications是否满足你的需求。主要特征有以下几个方面。

 

易于使用


位流是一个简单的抽象概念,其行为就像交流频道。只能在一端写入数据,在另一端读取数据。使用这个库,只需要知道如何创建流,写入,读取就可以了。

这个简单的管理二进制数据的方法可以满足绝大部分使用需求。比python标准库中处理此类任务的 structarray更简单。

 

在位和字节的级别工作


压缩编码(例如霍夫曼编码)并不总是以全部字节数来表示数据。由于位流支持位而不仅仅是字节,所以代码可以使用相同的API来实现。比如一个自然数的序列的一元编码只需要几行。

支持pythonnumpy数据类型


Bitsteam内置对标准二进制输出的常用数据类型的支持:布尔值、字节、固定宽度的整型,浮点整型。

Numpy数组可以很方便的处理同类数据序列:

更多细节请查看 Built-in types 

 

高级特性

性能. Bitsteam是一个C语音扩展的python模块,由Cython语音和编译器来生成,已经对常用需求进行了优化。希望它的速度能满足您的需求。

自定义数据类型. 受支持的类型和二进制表示的列表可以随意扩大:新的读者和编写者可以实现和关联特定的数据类型。请查看Custom types.


快照. 有时候,比如当需要查看流而不消耗其内容时,流这个方法就太过简单。快照是解决这类问题的流模型的一个扩展,因为它可以提供一个‘时光机’来将流恢复到一个较早的状态。请查看Snapshots.

 

开源

BitstreamMIT license下分发,开发及发布分别在GitHubPyPI上。

 


英文原文:http://boisgera.github.io/bitstream/
译者:Chris


登录查看更多
0

相关内容

Python地理数据处理,362页pdf,Geoprocessing with Python
专知会员服务
114+阅读 · 2020年5月24日
【Manning新书】现代Java实战,592页pdf
专知会员服务
100+阅读 · 2020年5月22日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
162+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
118+阅读 · 2020年5月10日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
108+阅读 · 2020年5月3日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
77+阅读 · 2020年4月24日
Transformer文本分类代码
专知会员服务
117+阅读 · 2020年2月3日
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
使用 Canal 实现数据异构
性能与架构
20+阅读 · 2019年3月4日
基于 Storm 的实时数据处理方案
开源中国
4+阅读 · 2018年3月15日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
优化哈希策略
ImportNew
5+阅读 · 2018年1月17日
ROS 2正式版终于来了,还增加了这些新特性
量子位
3+阅读 · 2017年12月11日
python pandas 数据处理
Python技术博文
4+阅读 · 2017年8月30日
十五条有用的Golang编程经验
CSDN大数据
5+阅读 · 2017年8月7日
33款可用来抓数据的开源爬虫软件工具 (推荐收藏)
数据科学浅谈
7+阅读 · 2017年7月29日
Arxiv
7+阅读 · 2019年4月8日
Arxiv
3+阅读 · 2018年4月5日
Arxiv
6+阅读 · 2018年1月29日
Arxiv
7+阅读 · 2017年12月28日
VIP会员
相关VIP内容
Python地理数据处理,362页pdf,Geoprocessing with Python
专知会员服务
114+阅读 · 2020年5月24日
【Manning新书】现代Java实战,592页pdf
专知会员服务
100+阅读 · 2020年5月22日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
162+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
118+阅读 · 2020年5月10日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
108+阅读 · 2020年5月3日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
77+阅读 · 2020年4月24日
Transformer文本分类代码
专知会员服务
117+阅读 · 2020年2月3日
相关资讯
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
使用 Canal 实现数据异构
性能与架构
20+阅读 · 2019年3月4日
基于 Storm 的实时数据处理方案
开源中国
4+阅读 · 2018年3月15日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
优化哈希策略
ImportNew
5+阅读 · 2018年1月17日
ROS 2正式版终于来了,还增加了这些新特性
量子位
3+阅读 · 2017年12月11日
python pandas 数据处理
Python技术博文
4+阅读 · 2017年8月30日
十五条有用的Golang编程经验
CSDN大数据
5+阅读 · 2017年8月7日
33款可用来抓数据的开源爬虫软件工具 (推荐收藏)
数据科学浅谈
7+阅读 · 2017年7月29日
Top
微信扫码咨询专知VIP会员