2011-08-16 19 views

答えて

1

バイトに標準ライブラリパックデータ内structモジュールに(24ビット)。

0

あなたが任意のバイト数でパックする必要がある場合、例えば、structモジュールに頼るよりもbytearrayを使用する方がよいかもしれません:

>>> a = bytearray(3) # create 3 byte array 
>>> a[0] = 0x3e 
>>> a[1] = 0xff 
>>> a[2] = 0x00 

注任意のPythonオブジェクトのメモリのオーバーヘッドがあること数バイトよりかなり多くなるので、メモリ使用について本当に心配しているなら、できるだけ少ないオブジェクトですべてのデータをまとめて保存する必要があります。

正確なニーズに応じて、bitstringなどのサードパーティのモジュールが役立つ可能性があります(完全開示:私が書いた)。

>>> b = bitstring.BitArray((1,0,1,1,1,0,0,1,1,1,0,1,0,1,1,1)) 
>>> b.bytes 
'\xb9\xd7' 
>>> b.uint 
47575 
関連する問題