Оголошення кодування

Оновлено: 28.04.2023

Якщо коментар у першому чи другому рядку сценарію Python відповідає регулярному виразу coding[=:]\s*([-\w.]+), цей коментар обробляється як оголошення кодування; перша група цього виразу називає кодування файлу вихідного коду. Оголошення кодування має з’являтися в окремому рядку. Якщо це другий рядок, перший рядок також має бути рядком лише для коментарів. Рекомендовані форми виразу кодування:

# -*- coding: <encoding-name> -*-

який також розпізнається GNU Emacs і

# vim:fileencoding=<encoding-name>

який розпізнається VIM Брема Муленаара.

Якщо кодування не знайдено, кодуванням за замовчуванням є UTF-8. Крім того, якщо перші байти файлу є позначкою порядку байтів UTF-8 (b'\xef\xbb\xbf''), заявленим кодуванням файлу є UTF-8 (це підтримується, серед інших notepad від Microsoft).

Якщо оголошено кодування, Python має розпізнавати назву кодування (див. Стандартні кодування). Кодування використовується для всього лексичного аналізу, включаючи рядкові літерали, коментарі та ідентифікатори.