Какая разница между "кодированием = utf8" и "-" - кодированием: utf-8 - * - '?
Есть ли разница между использованием
#coding=utf8
и
# -*- coding: utf-8 -*-
Что насчет
# encoding: utf-8
Ответ 1
Нет никакой разницы; Python распознает все 3. Он ищет шаблон:
coding[:=]\s*([-\w.]+)
в первых двух строках файла (который также должен начинаться с #).
Это буквальное "кодирование" текста, за которым следует либо двоеточие, либо знак равенства, за которым следуют необязательные пробелы. Любое слово, штриховые или точечные символы, следующие за этим шаблоном, считаются кодеком.
-*- представляет собой синтаксис, специфичный для Emacs; чтобы текстовый редактор знал, какую кодировку использовать. Это делает комментарий полезным для двух инструментов. VIM поддерживает аналогичный синтаксис.