[pyar] Unicode, str y archivos binarios...

Santiago Paleka santiagopaleka en gmail.com
Jue Mar 14 12:19:52 ART 2013


Hola lista,

Estoy teniendo el siguiente problema:
Necesito generar un archivo binario, en el que guardo datos con el
siguiente protocolo:
0xAA  -  header(un byte)   -   size - datos en binario
0xAA  -  header(un byte)   -   size - datos en binario
0xAA  -  header(un byte)   -   size - datos en binario
0xAA  -  header(un byte)   -   size - datos en binario

La cantidad de datos en binario está determinada por el byte size.

Todo estos datos los genero sin problemas de la siguiente forma:

binario = ""
binario = binario + chr(0xAA) + chr(Header_App)
nexstring = ""
nextstring += chr(app.AppNum) + chr(app.EstadoActual)
binario   += chr(len(nextstring)) + nextstring

El problema empieza cuando quiero agregar una cadena unicode al string
"binario" y la misma tiene acentos, me dice que el valor está fuera de
rango:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xaa in position 0:
ordinal not in range(128)

Por ejemplo lo siguiente tira ese error:

binario = ""
binario = binario + chr(0xAA) + chr(0x04)
nextstring = ""
nextstring += u"áéíóú"
binario   += chr(len(nextstring)) + nextstring

UnicodeDecodeError: 'utf8' codec can't decode byte 0xaa in position 0:
invalid start byte

Lo que yo quisiera, en el ejemplo anterior, es obtener en binario = 0xAA
0x04 0x05 0xE1 0XE9 0XED 0XF3 0XFA

Espero haberme explicado medianamente bien.
Como puedo hacer esto?
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130314/521e74a0/attachment.html>


More information about the pyar mailing list