當前位置:
首頁 > 最新 > 人性化地處理二進位數據:Bitstream

人性化地處理二進位數據:Bitstream

Bitstream是一個python的第三方庫,以位流的形式管理二進位數據:

如果你需要處理現在已知的二進位文件格式、設計自己需要的二進位格式、或探索數據壓縮演算法等等,但python標準庫滿足不了你的需要,這個時候可以試試Bitstream。可以查看example applications是否滿足你的需求。主要特徵有以下幾個方面。

易於使用

位流是一個簡單的抽象概念,其行為就像交流頻道。只能在一端寫入數據,在另一端讀取數據。使用這個庫,只需要知道如何創建流,寫入,讀取就可以了。

這個簡單的管理二進位數據的方法可以滿足絕大部分使用需求。比python標準庫中處理此類任務的struct和array更簡單。

在位和位元組的級別工作

壓縮編碼(例如霍夫曼編碼)並不總是以全部位元組數來表示數據。由於位流支持位而不僅僅是位元組,所以代碼可以使用相同的API來實現。比如一個自然數的序列的一元編碼只需要幾行。

支持pythonnumpy數據類型

Bitsteam內置對標準二進位輸出的常用數據類型的支持:布爾值、位元組、固定寬度的整型,浮點整型。

Numpy數組可以很方便的處理同類數據序列:

更多細節請查看Built-in types

高級特性

性能. Bitsteam是一個C語音擴展的python模塊,由Cython語音和編譯器來生成,已經對常用需求進行了優化。希望它的速度能滿足您的需求。

自定義數據類型.受支持的類型和二進位表示的列表可以隨意擴大:新的讀者和編寫者可以實現和關聯特定的數據類型。請查看Custom types.

快照.有時候,比如當需要查看流而不消耗其內容時,流這個方法就太過簡單。快照是解決這類問題的流模型的一個擴展,因為它可以提供一個『時光機』來將流恢復到一個較早的狀態。請查看Snapshots.

開源

Bitstream在MIT license下分發,開發及發布分別在GitHub和PyPI上。

英文原文:http://boisgera.github.io/bitstream/

譯者:Chris


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python程序員 的精彩文章:

限時領取|45講人工智慧與python入門課程
【限量閃購】《決戰618》僅售55元包郵,只有兩本

TAG:Python程序員 |