Python 3 usa codificación UTF-8 para archivos de código fuente de forma predeterminada. ¿Debo seguir usando la declaración de codificación al principio de cada archivo fuente? Me gusta# -*- coding: utf-8 -*-
Python 3 usa codificación UTF-8 para archivos de código fuente de forma predeterminada. ¿Debo seguir usando la declaración de codificación al principio de cada archivo fuente? Me gusta# -*- coding: utf-8 -*-
Respuestas:
Debido a que el valor predeterminado es UTF-8, solo necesita usar esa declaración cuando se desvía del predeterminado o si confía en otras herramientas (como su IDE o editor de texto) para hacer uso de esa información.
En otras palabras, en lo que respecta a Python , solo cuando desee utilizar una codificación diferente, deberá utilizar esa declaración.
Otras herramientas, como su editor, pueden admitir una sintaxis similar, por lo que la especificación PEP 263 permite una flexibilidad considerable en la sintaxis (debe ser un comentario, el texto coding
debe estar allí, seguido de un carácter :
o =
y un espacio en blanco opcional, seguido de un códec reconocido).
Tenga en cuenta que solo se aplica a la forma en que Python lee el código fuente . No se aplica a la ejecución de ese código, por lo tanto, no a cómo la impresión, la apertura de archivos o cualquier otra operación de E / S se traduce entre bytes y Unicode. Para obtener más detalles sobre Python, Unicode y codificaciones, le recomiendo encarecidamente que lea el CÓMO de Python Unicode , o la charla pragmática sobre Unicode muy completa de Ned Batchelder.
UTF-8
, que es un valor predeterminado.Para proyectos de codificación múltiple:
Si algunos archivos están codificados en
non-utf-8
, incluso para estos codificados,UTF-8
también debe agregar la declaración de codificación, porque la regla de oro esExplicit is better than implicit.
configurar la codificación para un archivo específico en pycharm
# vim: set fileencoding=<encoding name> :
# -*- coding: utf-8 -*-
todavía puede ser útil para algunos editores para cambiar a la codificación de espera al editar el archivo de origen.