2013-02-05 70 views
1

我正在嘗試將4個整數寫入單個字節。Python:將整數寫入單個字節

在下面的例子中,我可以解壓\ x11,然後讀取位(answer = 1 2 0 0),但是我會怎麼做呢?即如何將1 2 0 0打包成\ xll

import struct 

val = struct.unpack('B', '\x11')[0] 

a = val & 7 
b = (val >> 3) & 7 
c = (val >> 6) & 1 
d = (val >> 7) 

print a, b, c, d 

我對所有這些都很新穎......非常感謝!

+0

但你知道,這樣你只能存儲一個值 - 3位,B - 3位,C - 1位,d - 1位?所以範圍是<0,7>,b <0,7>,c <0,1>,d <0,1>。 –

回答

1

像這樣:

val = ((d & 1) << 7) | ((c & 1) << 6) | ((b & 7) << 3) | (a & 7) 
+0

完美的作品 - 非常感謝@isedev! – kungphil

相關問題