Utilizzare the int
function con un base
di 2
per leggere un valore binario come numero intero.
n = int('01010101', 2)
Python 2 utilizza stringhe per gestire i dati binari, quindi si può usare the chr()
function per convertire il numero intero in una stringa un byte.
data = chr(n)
Python 3 gestisce binari e testo in modo diverso, quindi è necessario utilizzare the bytes
type invece. Questo non ha un equivalente diretto alla funzione chr()
, ma il costruttore bytes
può prendere un elenco di valori di byte. Inseriamo n
in un array di un elemento e lo convertiamo in un oggetto bytes
.
data = bytes([n])
Una volta che avete la vostra stringa binaria, è possibile aprire un file in modalità binaria e scrivere i dati ad esso come questo:
with open('out.bin', 'wb') as f:
f.write(data)
fonte
2011-08-27 10:41:09
Abbastanza chiaro e completo. Grazie – xiaohan2012
Per python 2.6+, probabilmente stai meglio usando 'bytearray ([n])'. [Vedi doc] (http://docs.python.org/2/library/functions.html#bytearray). – ford