mirror of https://github.com/python/cpython
Explain source encodings. Fixes #683486.
This commit is contained in:
parent
ab1e5858ee
commit
7928f388c4
|
@ -303,6 +303,39 @@ beginning of the script and giving the file an executable mode. The
|
||||||
the hash, or pound, character, \character{\#}, is used to start a
|
the hash, or pound, character, \character{\#}, is used to start a
|
||||||
comment in Python.
|
comment in Python.
|
||||||
|
|
||||||
|
\subsection{Source Code Encoding}
|
||||||
|
|
||||||
|
It is possible to use encodings different than ASCII in Python source
|
||||||
|
files. The best way to do it is to put one more special comment line
|
||||||
|
right after \code{#!} line making proper encoding declaration:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
# -*- coding: iso-8859-1 -*-
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
With that declaration, all characters in the source file will be
|
||||||
|
treated as belonging to \code{iso-8859-1} encoding, and it will be
|
||||||
|
possible to directly write Unicode string literals in the selected
|
||||||
|
encoding. The list of possible encodings can be found in the
|
||||||
|
\citetitle[../lib/lib.html]{Python Library Reference}, in the section
|
||||||
|
on \module{codecs}.
|
||||||
|
|
||||||
|
If your editor supports saving files as \code{UTF-8} with an UTF-8
|
||||||
|
signature (aka BOM -- Byte Order Mark), you can use that instead of an
|
||||||
|
encoding declaration. IDLE supports such saving if
|
||||||
|
\code{Options/General/Default Source Encoding/UTF-8} is set. Notice
|
||||||
|
that this signature is not understood in older Python releases (2.2
|
||||||
|
and earlier), and also not understood by the operating system for
|
||||||
|
\code{#!} files.
|
||||||
|
|
||||||
|
By using UTF-8 (either through the signature, or a an encoding
|
||||||
|
declaration), characters of most languages in the world can be used
|
||||||
|
simultaneously in string literals and comments. Using non-ASCII
|
||||||
|
characters in identifiers is not supported. To display all these
|
||||||
|
characters properly, your editor must recognize that the file is
|
||||||
|
UTF-8, and it must use a font that supports all the characters in the
|
||||||
|
file.
|
||||||
|
|
||||||
\subsection{The Interactive Startup File \label{startup}}
|
\subsection{The Interactive Startup File \label{startup}}
|
||||||
|
|
||||||
% XXX This should probably be dumped in an appendix, since most people
|
% XXX This should probably be dumped in an appendix, since most people
|
||||||
|
|
Loading…
Reference in New Issue