我想使用struct
模塊將一個整數unpack()
解析爲真值的列表。python中的位掩碼解析僅使用標準庫
我目前的做法是這樣的:
>>> [bool(int(_)) for _ in ("%8s" % str(bin(235)).split("b")[1]).replace(" ","0")]
[True, True, True, False, True, False, True, True]
它的工作,但也是相當可怕的令人費解。任何人都有優雅和pythonesque做同樣的方式?
請注意,上面只是一個例子,位掩碼不一定只有8位長,但解決方案應該適用於任意長度的位掩碼(實際上,可以使用4的倍數工作)
你看了問題@DanD。 ?我說我使用'struct' - 'unpack(「?」)'不解析一個位,而是一個8位的C布爾值! – Kimvais 2012-03-09 08:14:34