Python 3 verwendet standardmäßig die UTF-8-Codierung für Quellcodedateien. Sollte ich die Codierungsdeklaration am Anfang jeder Quelldatei weiterhin verwenden? Mögen# -*- coding: utf-8 -*-
Python 3 verwendet standardmäßig die UTF-8-Codierung für Quellcodedateien. Sollte ich die Codierungsdeklaration am Anfang jeder Quelldatei weiterhin verwenden? Mögen# -*- coding: utf-8 -*-
Antworten:
Da der Standard ist UTF-8, müssen Sie nur diese Erklärung verwenden , wenn Sie vom Standard abweichen, oder wenn Sie auf andere Werkzeuge (wie Ihre IDE oder Texteditor) angewiesen , um die Verwendung dieser Informationen zu machen.
Mit anderen Worten, für Python müssen Sie diese Deklaration nur verwenden, wenn Sie eine andere Codierung verwenden möchten.
Andere Werkzeuge, wie der Editor, kann ähnliche Syntax unterstützen, weshalb die PEP 263 Spezifikation für eine beträchtliche Flexibilität in der Syntax erlaubt (es muss ein Kommentar sein, der Text coding
muss es sein, gefolgt von entweder einem :
oder =
Zeichen und optional Leerzeichen, gefolgt von einem anerkannten Codec).
Beachten Sie, dass dies nur für das Lesen des Quellcodes durch Python gilt . Dies gilt nicht für die Ausführung dieses Codes, also nicht für die Übersetzung, das Öffnen von Dateien oder andere E / A-Vorgänge zwischen Bytes und Unicode. Für weitere Informationen zu Python, Unicode und Codierungen empfehle ich Ihnen dringend, das Python Unicode HOWTO oder den sehr gründlichen Pragmatic Unicode- Vortrag von Ned Batchelder zu lesen .
UTF-8
, was ein Standard ist.Für Multi-Coding-Projekte:
Wenn einige Dateien in der
non-utf-8
codiert sindUTF-8
, sollten Sie auch für diese in codierte Dateien eine Codierungsdeklaration hinzufügen, da die goldene Regel lautetExplicit is better than implicit.
Konfigurieren der Codierung für eine bestimmte Datei in pycharm
# vim: set fileencoding=<encoding name> :
# -*- coding: utf-8 -*-
kann für einige Editoren weiterhin nützlich sein, um beim Bearbeiten der Quelldatei zur erwarteten Codierung zu wechseln.