Python は、ファイルのエンコーディングを定義する命令として以下を認識します。
# -*- coding: utf-8 -*-
私は確かに以前にこの種の命令を見たことがある ( -*- var: value -*-
) ので、Python がこれを発明したわけではなく、このような命令を使用するのは Python だけではないと考えます。
この構文はどこから来たのでしょうか? 完全な仕様はありますか? たとえば、値にスペース、特殊記号、改行、さらには-*-
値自体を含めることができますか?
このようなメタデータ構文を認識する他のソフトウェアは何ですか?
私のプログラムはプレーンテキスト ファイルを書き込む予定で、この形式を使用してファイルにメタデータを含めたいと思います。
ベストアンサー1
Pythonファイルのエンコーディングを指定するこの方法は、PEP 0263 - Python ソースコードエンコーディングの定義。
GNU Emacsでも認識されます(Python 言語リファレンス、2.1.4 エンコーディング宣言) ですが、それがその構文を使用した最初のプログラムであったかどうかはわかりません。