[Python-es] ¿Cómo manejo los caracteres especiales?

Kiko kikocorreoso en gmail.com
Mie Ene 26 19:47:55 CET 2011


El 26 de enero de 2011 18:54, lasizoillo <lasizoillo en gmail.com> escribió:

> El día 26 de enero de 2011 15:02, Douglas Jiménez <dougjim en gmail.com>
> escribió:
> > El 26 de enero de 2011 09:21, peter <pablomarmol en gmail.com> escribió:
> >>
> >> El día 26 de enero de 2011 14:31, Douglas Jiménez <dougjim en gmail.com>
> >> escribió:
> >>
> >> > A propósito: ¿por qué funciona una cosa como # -*- coding: UTF8 -*-?
> Si
> >> > el
> >> > primer caracter de esta cadena es una orden de comentario, ¿cómo
> ejerce
> >> > alguna influencia sobre el programa?
> >> >
> >> > Sigo agradeciendo cualquier ayuda o comentario respecto a este asunto.
> >>
> >>
> >>
> >> ¿No sabes por qué funciona esa linea  -*- coding: utf-8 -*-  aunque
> >> esté comentada con "#" ?
> >> Deberías probar a leer la documentación de python, te resultará
> >> interesante sobre todo si quieres programar en python.
> >
> > ¡Seguro! Estoy en eso. ¿Por qué no eres más específico y me diriges hacia
> la
> > lectura que debo hacer, una dirección o algo así?
> >
> > Uno va consiguiendo las cosas poco a poco y la estructura del sistema se
> > hace evidente con la práctica. Si la tuviera de antemano, te aseguro que
> no
> > molestaría a nadie preguntando.
> >
>
> Supongo que se referirá a esto:
> http://docs.python.org/howto/unicode
>
> La linea "# -*- coding: utf-8 -*-" le dice al intérprete de python en
> qué codificación de caracteres está el fichero fuente. Cuando defines
> el literal de una cadena:
> cadena = "Me tiene hasta el moño"
> Esa cadena está codificada de alguna manera (tal vez latin1, tal vez
> utf8, ...) y el intérprete de python debe saber cual es dicha
> codificación.
>
> Para simplicar el problema hay que pensar en abstracto. El modo texto
> se usa para comunicar. Y no basta con tener en cuenta el mensaje, sino
> que tienes que tener en cuenta al emisor y el receptor. Si el emisor
> manda un mensaje con una codificación, el receptor tiene que decoficar
> el mensaje usando dicha codificación.
> * Cuando escribes un programa python (tu eres el emisor), el codigo
> fuente es el mensaje y con el comentario raro ese el interprete
> (receptor) sabe como decoficiar el menaje (el código fuente).
> * Cuando imprimes un caracter en una pantalla. La pantalla o terminal
> estará configurado con cierta codificación. Si el mensaje no esta
> codificado de la misma manera fallará.
> * Cuando mandes un mail, puedes definir la codificación del mensaje en
> las cabeceras. Si tu programa (emisor) que envia el correo (mensaje)
> le dice al receptor (cliente de correo) como está codificado el
> mensaje, no deberías tener ningún problema.
>
> Puedo ponerte mil ejemplos de quien es el emisor, quien es el receptor
> y cuál es el mensaje, definiendo de forma correcta cual es la
> codificación de dicho mensaje. Pero una vez comprendas como funciona
> la abstracción, el problema del encoding desaparecerá por siempre.
>
> ¿Quién es tu emisor? ¿Cómo codifica el mensaje? ¿Quién es el receptor?
> ¿Cómo decodifica el mensaje? ¿El mensaje puede indicar al receptor
> cómo está codificado o debes poner de acuerdo al emisor y receptor de
> otra forma? ¿Tienes algún sistema de codificación común entre emisor y
> receptor o tienes aquí un problema? Respondiendo a estas preguntas,
> verás que sencillo es todo y si no es sencillo verás como se te
> ocurren formas de analizarlo y reparar el error ;-)
>
> Saludos:
>
> Javi
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>

Entre el enlace de Chema y la explicación de Javi uno nunca deja de aprender
en esta lista.

Muchas gracias.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110126/3364973e/attachment.html>


Más información sobre la lista de distribución Python-es