1. ホーム
  2. python

[解決済み] Python 3でエンコーディング宣言を使うべきですか?

2022-06-27 05:44:49

質問

Python 3 はデフォルトでソースコードファイルのエンコーディングを UTF-8 にしています。それでも、すべてのソースファイルの冒頭でエンコーディング宣言を使用するべきですか?例えば # -*- coding: utf-8 -*-

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

なぜなら、デフォルトの UTF-8なので、その宣言を使う必要があるのは、デフォルトから外れるとき、あるいはその情報を利用するために他のツール(IDEやテキストエディターなど)に依存するときだけです。

言い換えれば Python が関係している限り であり、異なるエンコーディングを使用したい場合にのみ、その宣言を使用する必要があるのです。

エディタなど他のツールも同様の構文をサポートしており、そのため PEP 263 仕様 は構文にかなりの柔軟性を持たせています (コメントでなければならず、テキストは coding がなければならず、その後に : または = 文字とオプションの空白文字の後に、認識されるコーデックが続きます)。

これは、Pythonの がソースコードを読み取る方法にのみ適用されることに注意してください。 . そのコードの実行には適用されないので、印刷、ファイルを開く、その他のI/O操作がバイトとUnicodeの間でどのように変換されるかには適用されません。Python、Unicode、およびエンコーディングに関する詳細については、ぜひ Python Unicode HOWTO または、非常に徹底した 実用的なユニコード トーク Ned Batchelder によるものです。