[py2.3a1] bugs en la codificacion por defecto de ficheros

Chema Cortés chemacortes en wanadoo.es
Lun Ene 13 03:24:29 CET 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Me respondo a mí mismo:

> Pero tengo dos dudas:
>
> 1) sin este comentario, según dice la documentación, la codificación por
> defecto debería ser latin1, pero la advertencia que me da parace dar a
> enteder que utiliza por defecto la codificación ascii. ¿Es un bug o es que
> han cambiado de opinión?

Leyendo la PEP263 (http://www.python.org/peps/pep-0263.html) veo que la 
codificación por defecto debería ser "ascii", no latin1 como ocurría en 
python2.2. Lo que ocurre es que, por compatibilidad (la llamada fase 1 del 
PEP263) se codifica por defecto a latin1 dando un aviso de obsolescencia. 
Posiblemente, en el futuro, se codifique por defecto a "ascii", por lo que 
empezará a ser recomendable ir poniendo el comentario con la codificación por 
defecto de nuestros fuentes. 

> 2) he probado la tolerancia a la hora de poner el comentario de
> codificación:
>
> # -*- coding: iso8859-15
> # coding: iso8859-15
> #-*- encoding: iso8859-15
> #ponloquequieras coding:iso8859-1 quedaigual
>
> Parece ser demasiado tolerante. ¿Es así o simplemente no es todo lo
> estricto que debería ser?

En el mismo PEP veo que la expresión regular que se usa es:

"coding[:=]\s*([\w-_.]+)"

El grupo 1 de esta expresión regular es la codificación que se emplea. Esto 
explicaría lo tolerante que es, aunque siempre limitado a la primera o 
segunda línea del código. No tiene mayor importancia, pero puede provocar 
algún despiste.


Saludos,
- -- 
Chema Cortes (chemacortes en wanadoo.es) | LinuxUser#142755 - SuSE Linux 8.1
  ZARALINUX  http://www.zaralinux.org | "La naturaleza es muy sencilla; lo
    PYTANDO  http://pytando.sf.net    |  difícil es razonar con ella."
      PGPKEY: mailto:chemacortes en wanadoo.es?subject=__PGPKEY__

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE+IiNeHLTQrABk8H0RAkPuAKCkvTLP7d/zk2ijzv2aBfuICsk2jwCfWi1l
2FRJB30SORJcaXgLiFHQzhI=
=tJRY
-----END PGP SIGNATURE-----




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