1. ホーム
  2. パイソン

[解決済み】これはどこから来たのか: -*- coding: utf-8 -*-.

2022-03-17 07:52:05

質問

Pythonは以下の命令をファイルのエンコーディングを定義する命令として認識します。

# -*- coding: utf-8 -*-

確かにこの手の指示は以前見たことがありますね( -*- var: value -*- ). どこから来たのでしょうか?完全な仕様は何ですか?例えば、値にはスペース、特殊記号、改行、さらには -*- そのものか?

私のプログラムはプレーンテキストファイルを書き、その中にこのフォーマットを使ってメタデータを含めたいと考えています。

どのように解決するのですか?

Pythonファイルのエンコーディングを指定するこの方法は、以下のものに由来します。 PEP 0263 - Python ソースコードエンコーディングの定義 .

GNU Emacsでも認識されます( Python Language Reference, 2.1.4 エンコーディングの宣言 しかし、この構文を使った最初のプログラムであるかどうかはわかりません。