Se un commento nella prima o nella seconda riga di uno script Python corrisponde all'espressione regolare coding[=:]\s*([\w-_.]+), questo commento viene processato come una dichiarazione di codifica; il primo gruppo di questa espressione nomina la codifica del file contenente il codice sorgente. Le forme raccomandate di questa espressione sono:
# -*- coding: <encoding-name> -*-
che viene riconosciuta anche da GNU Emacs e
# vim:fileencoding=<encoding-name>
che viene riconosciuta da VIM di Bram Moolenaar.
In aggiunta, se il primo byte del file è la maschera di byte-order di
UTF-8 ('\xef\xbb\xbf'
), il file di codifica dichiarata è
UTF-8 (questo è supportato, tra gli altri, dal notepad di
Microsoft).
Se viene dichiarata una codifica, il nome di questa codifica deve essere riconosciuta da Python. La codifica viene utilizzata per tutte le analisi lessicali, in particolare per trovare la fine di una stringa e per interpretare il contenuto di stringhe costanti Unicode. Le stringhe costanti vengono convertite in Unicode per le analisi sintattiche, poi riconvertite nella codifica originale prima che inizi l'interpretazione. La dichiarazione di codifica deve apparire sulla prima riga di codice.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.