Python 3は、デフォルトでソースコードファイルにUTF-8エンコーディングを使用します。すべてのソースファイルの先頭でエンコード宣言を使用する必要がありますか?お気に入り# -*- coding: utf-8 -*-
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による非常に徹底的なPragmatic Unicode講演を読むことを強くお勧めします。
UTF-8
は、デフォルトであるのみを使用します。マルチエンコーディングプロジェクトの場合:
一部のファイルがでエンコードされている場合
non-utf-8
、これらのエンコードされたファイルでもUTF-8
、ゴールデンルールは次のとおりであるため、エンコード宣言も追加する必要があります。Explicit is better than implicit.
# vim: set fileencoding=<encoding name> :
# -*- coding: utf-8 -*-
ソースファイルを編集するとき、依然として予想符号化への切り替えを、いくつかのエディタのために有用であり得ます。