On Tue, 12 Jan 2010 20:43:29 +0100, Ernesto <e.pica...@unical.it> wrote: > Ciao a tutti, > > mi chiedevo se in python ci fosse una funzione simile alla seguente: > > $bits = unpack("B32",$value); > > che permette di ottenere una bit string.
Credo di no nella libreria standard, ma puoi usare qualcosa tipo questa: def int2bin(n, _hex2bin={ "0":"0000", "1":"0001", "2":"0010", "3":"0011", "4":"0100", "5":"0101", "6":"0110", "7":"0111", "8":"1000", "9":"1001", "A":"1010", "B":"1011", "C":"1100", "D":"1101", "E":"1110", "F":"1111"} ): return "".join(_hex2bin[i] for i in '%X' % n).lstrip('0') or '0' In [5]: int2bin(1024) Out[5]: '10000000000' Non funziona coi negativi, ma se servissero è facile correggerla. > Ho provato con il modulo struct anche se non sembra ci sia qualcosa di > equivalente. Esiste la funzione struct.unpack() ma non restituisce la > stessa cosa. Le funzioni in struct possono comunque farti comodo, per esempio per convertire da un blocco di dati a interi (usando la giusta endianness) e da questi in binario con questa funzione. > Come posso, inoltre, verificare se il sistema su cui sto lavorando è > little-endian o big-endian? http://docs.python.org/library/sys.html#sys.byteorder -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python