[pyar] Codecs, UTF-8

Gustavo Campanelli gedece en gmail.com
Sab Oct 9 15:54:15 ART 2010


Lo que podrías hacer es leer el archivo en modo binario, que no da
errores nunca, y después convertir cada caracter ascii con a utf-8
dentro de un try-catch.

Gedece

2010/10/9 Martin Cerdeira <martincerdeira en gmail.com>:
> 2010/10/9 Andrés Gattinoni <andresgattinoni en gmail.com>:
>> 2010/10/9 Martin Cerdeira <martincerdeira en gmail.com>:
>>> Tengo un script donde, el código más relevante es este:
>>>
>>> # -*- coding: utf-8 -*-
>>>
>>> open(fname).read()
>>>
>>> Con él, abro un archivo html y, recibo este error:
>>>
>>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xf3 in position 24: ordinal
>>>  not in range(128)
>>>
>>> Entonces, cambio el read:
>>>
>>> codecs.open(fname, "r", "utf-8" ).read()
>>>
>>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xf3 in position 24: ordinal
>>>  not in range(128)
>>>
>>> Qué estoy pifiando?
>>
>> Estás seguro que el error es con el archivo que intentás leer y no con
>> algún caracter raro (no imprimible) que pueda tener tu script?
>> Si comentás la línea del read() te tira el mismo error?
>>
>> Otra, por las dudas, fijate con:
>>
>> file -i <tuarchivo.html>
>>
>> Para asegurarte que no tenga un encoding raro.
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>
> mrt en deb01:~/Libros/Structure and Interpretation$ file -i book.html
> book.html: text/html
>
> Igualmente, el error está (como decía Roberto) en que yo creí que
>
> codecs.open(fname, "r", "utf-8" ).read()
>
> te convertía el file a utf-8 (cosa que no)
>
> Lo que no me queda claro es si hay una forma *universal* de decirle
> que abra el archivo, tenga la codificación que tenga y que lo
> convierta y muestre como pueda.
>
> Esto de las codificaciones me rompe soberanamente, pero, es algo que
> todo programador no puede ignorar[0] =)
>
>
> [0] http://www.joelonsoftware.com/articles/Unicode.html
> -------------------------------------
> Martín Cerdeira - Software Developer
> [web] http://www.codmacs.blogspot.com/
> ()  ascii ribbon campaign
> /\  www.asciiribbon.org
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>



More information about the pyar mailing list