join con cadenas con caracteres con acentos
Marcos Sánchez Provencio
rapto en arrakis.es
Vie Abr 27 13:46:04 CEST 2007
linea está codificada en iso-8859-15 o similares. Al empezar, tendrás
que decírselo a Python:
linea= unicode('1#\xc1\xc9\xcd\xd3\xda\xd1\xe1\xe9\xed\xf3
\xfa##PRUEBA(PRUEBA)#06##1#0#\n','iso-8859-15')
print linea #usando la codificación de mi sistema
1#ÁÉÍÓÚÑáéíóú##PRUEBA(PRUEBA)#06##1#0#
Para trabajar con caracteres no-ascii, hay que convertirlos a unicode
indicando la codificación del fichero de entrada cuanto antes.
Internamente, hay que trabajar en unicode siempre. Al final, para volcar
el resultado a un fichero o a la pantalla, hay que indicar la
codificación de nuevo. Existe una codificación predeterminada del
sistema que a veces funciona como queremos y a veces no tanto.
Saludos
El jue, 26-04-2007 a las 20:31 +0200, Dani Muñiz escribió:
> Lo que hago es tomar el texto de un fichero txt
> lo paso a la variable linea y despues:
>
> linea= '1#\xc1\xc9\xcd\xd3\xda\xd1\xe1\xe9\xed\xf3\xfa##PRUEBA
> (PRUEBA)#06##1#0#\n'
>
> linea=linea.split("#")
> unif=""
> for linea2 in linea:
> unif=unif+"#"+linea2
> unif=unif+"#"
> unif=unif+"#"+linea2
>
> UnicodeDecodeError: 'utf8' codec can't decode bytes in position 38-39:
> invalid data
> Traceback (most recent call last):
> File "C:\python\impPres\frmPrin.py", line 112, in OnBtRepararButton
> unif=unif+"#"+linea2
> UnicodeDecodeError: 'utf8' codec can't decode bytes in position 38-39:
> invalid data
>
> aquí falla por los parentesis pero no se por que? ni que puedo hacer
> (esto es lo peor).
>
> Tambien he probado esto (realmente esto es lo primero que probé y sin
> acentos funciona)
> unif=string.join(linea,"#")
>
> Pero al concatenarlo arroja este error
>
> result=result+unif
> UnicodeDecodeError: 'utf8' codec can't decode bytes in position 2-3:
> invalid data
>
> Alguna sugerencia?
>
> Gracias.
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es