2011-08-16 72 views

回答

1

struct模塊中的標準庫包數據轉換成字節。

0

如果你需要以字節爲單位的任意數目收拾那麼它可能是更好地使用bytearray比依靠struct模塊上,例如:

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