Python 3 domyślnie używa kodowania UTF-8 dla plików kodu źródłowego. Czy nadal powinienem używać deklaracji kodowania na początku każdego pliku źródłowego? Lubić# -*- coding: utf-8 -*-
Python 3 domyślnie używa kodowania UTF-8 dla plików kodu źródłowego. Czy nadal powinienem używać deklaracji kodowania na początku każdego pliku źródłowego? Lubić# -*- coding: utf-8 -*-
Odpowiedzi:
Ponieważ wartością domyślną jest UTF-8, musisz użyć tej deklaracji tylko wtedy, gdy odejdziesz od wartości domyślnej lub jeśli polegasz na innych narzędziach (takich jak IDE lub edytor tekstu), aby wykorzystać te informacje.
Innymi słowy, jeśli chodzi o Pythona , tylko wtedy, gdy chcesz użyć innego kodowania, musisz użyć tej deklaracji.
Inne narzędzia, takie jak Twój edytor, mogą obsługiwać podobną składnię, dlatego specyfikacja PEP 263 pozwala na znaczną elastyczność w składni (musi to być komentarz, coding
musi tam być tekst , po którym następuje znak :
lub =
i opcjonalna spacja, po którym następuje rozpoznany kodek).
Zauważ, że dotyczy to tylko sposobu, w jaki Python odczytuje kod źródłowy . Nie dotyczy wykonywania tego kodu, a więc nie dotyczy sposobu, w jaki drukowanie, otwieranie plików lub inne operacje we / wy są tłumaczone między bajtami a Unicode. Aby uzyskać więcej informacji na temat Pythona, Unicode i kodowania, gorąco zachęcam do przeczytania Python Unicode HOWTO lub bardzo dokładnej rozmowy Pragmatic Unicode autorstwa Neda Batcheldera.
UTF-8
, co jest wartością domyślną.W przypadku projektów z wieloma kodowaniami:
Jeśli niektóre pliki są zakodowane w formacie
non-utf-8
, to nawet dla tych zakodowanych w formacieUTF-8
należy również dodać deklarację kodowania, ponieważ złotą zasadą jestExplicit is better than implicit.
konfigurowanie kodowania dla konkretnego pliku w pycharm
# vim: set fileencoding=<encoding name> :
# -*- coding: utf-8 -*-
przypadku niektórych edytorów może być nadal przydatna do przełączenia się na oczekiwane kodowanie podczas edycji pliku źródłowego.