[Python] Maneggiare i byte
michele a nectarine.it
michele a nectarine.it
Mer 24 Set 2008 10:31:08 CEST
Ciao,
dopo essere stato un fedele devoto al linguaggio Java ho deciso di
provare il Python.
Dopo aver provato un po' per conto mio, mi sono nate due domande in testa.
1) Spulciando tra i vari tipi predefiniti ho scoperto che non c'è il
tipo 'byte', come invece accade in Java.
Come ci si comporta?
Supponiamo di leggere un file binario:
fd = open('/tmp/foo','rb')
cont = fd.read()
fd.close()
ora, utilizzando print str(cont.__class__) (so che è una pessima
pratica, ma altrimenti come si può sapere di che tipo è la variabile
che contiene il file letto?), scopro che è un tipo string:
<type 'str'>
Ora, le mie domande sono: come si possono estrarre 5 byte da quella
stringa evitando di utilizzare file.seek() e file.read()?
Nel senso: ho a disposizione un tipo stringa che contiene dei byte di dati.
- Come posso ottenere delle 'fette' di dati?
- Come posso ottenere la lunghezza in byte di questi dati?
2)
Come si può implementare un BitSet? (rif.
http://java.sun.com/j2se/1.4.2/docs/api/java/util/BitSet.html )
Ho pensato ad una sottoclasse di list, facendo un overriding dei
metodi di insert, remove, iterator, etc.
Voi che ne dite?
Vi ringrazio,
Michele
Maggiori informazioni sulla lista
Python