解決
標準ライブラリには何もないことは正しいですが、試したことはありますか ビットストリング モジュール?この種のアプリケーション向けに設計されており、安定しており、 よく文書化されています, 、だから私はそれがあなたのニーズに合うべきだと思います。
構造、読書、スライスなどはすべてビットごとに行われ、純粋なPythonです。過去にハフマンのコーディングの例を非常にうまくやっているのを見てきました。
別の良い選択肢はです ビタレイ, 、機能はあまりありませんが、C拡張であるほどかなり高速になる可能性があります。ボーナスとして、ソースパッケージの一部としてHuffman Codingの例が分散されています。
他のヒント
正しい。ビットストリーミングを必要とするstdlibのほとんどのモジュールは、cで記述されており、詳細は隠されています。
いいえ、私が知る限り、標準ライブラリには、ビットアライド操作に役立つものは何もありません。 Pythonは小さなものをいじるようには設計されていません^^ ...
しかし、バイト配列の助けを借りて、あなた自身のビットストリームライターを簡単に書くことができます。
>>> from array import array
>>> a = array("B")
>>> a.append(1) # 128
>>> a.append(0)
>>> a.append(0)
>>> a.append(0)
>>> a.append(1) # 8
>>> a.append(1) # 4
>>> a.append(1) # 2
>>> a.append(1) # 1
>>> print reduce(lambda m, n: (m << 1) + n, a, 0)
143
あなたはアイデアを得る...
私はおそらくパーティーに少し遅れていますが、このビットストリームライブラリがあります。
所属していません StackOverflow