[pyar] Codecs, UTF-8
Martin Cerdeira
martincerdeira en gmail.com
Sab Oct 9 15:00:51 ART 2010
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
More information about the pyar
mailing list