Python 3 використовує кодування UTF-8 для файлів вихідного коду за замовчуванням. Чи потрібно все-таки використовувати декларацію кодування на початку кожного вихідного файлу? Подібно до# -*- coding: utf-8 -*-
Python 3 використовує кодування UTF-8 для файлів вихідного коду за замовчуванням. Чи потрібно все-таки використовувати декларацію кодування на початку кожного вихідного файлу? Подібно до# -*- coding: utf-8 -*-
Відповіді:
Оскільки за замовчуванням є UTF-8, вам потрібно використовувати цю декларацію лише тоді, коли ви відхиляєтесь від типового або якщо ви користуєтесь цією інформацією (наприклад, IDE або текстовим редактором).
Іншими словами, що стосується Python , ви повинні використовувати цю декларацію лише тоді, коли ви хочете використовувати кодування, яке відрізняється.
Інші інструменти, такі як ваш редактор, можуть підтримувати подібний синтаксис, тому специфікація PEP 263 забезпечує значну гнучкість у синтаксисі (це повинен бути коментар, текст coding
повинен бути там, а потім :
або =
символ, або необов’язковий пробіл, з подальшим визнаним кодеком).
Зауважте, що це стосується лише того, як Python читає вихідний код . Він не поширюється на виконання цього коду, а не на те, як друк, відкриття файлів чи будь-які інші операції вводу / виводу перекладаються між байтами та Unicode. Щоб отримати детальнішу інформацію про Python, Unicode та кодування, я настійно закликаю вас ознайомитись із Python Unicode HOWTO або дуже ретельною прагматичною розмовою Unicode від Неда Батчелдера.
UTF-8
, що є типовим.Для проектів з багато кодуванням:
Якщо деякі файли закодовані в
non-utf-8
, тоді навіть для цих закодованих уUTF-8
вас слід також додати декларацію кодування, тому що золотим правилом єExplicit is better than implicit.
налаштування кодування для конкретного файлу в pycharm
# vim: set fileencoding=<encoding name> :
# -*- coding: utf-8 -*-
деякі редактори можуть бути корисними для переходу до очікуваного кодування під час редагування вихідного файлу.