ソースコードのエンコーディングの指定

UTF-8 を指定するには?

ソースコードをどのようなエンコーディング方式で記述するか指定しないと、正しくソースコードを解釈できない場合があります。 例えば、Python 2.7 の環境で次のようなソースコードを書いて、UTF-8 で保存してから、実行してみましょう。

print 'こんにちは' # Python 2.7

実行結果は次のようになりました。

> C:\Python27\python test-enc.py
  File "test-enc.py", line 1
SyntaxError: Non-ASCII character '\xe3' in file test-enc.py on line 1, 
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

このエラーメッセージは、エンコーディング認識の違いによって python がソースコードを正しく解釈できなかったことを示しています。 Python に UTF-8 として正しく認識させるためには、次のような一行をソースコードの1行目か2行目に記述します。

# coding: utf-8

または次の行を記述します。

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

Python のバージョンによる違い

Python 3.x (Py3k) ではデフォルトで、UTF-8 エンコーディングとしてソースファイルを認識します。 このため、UTF-8 のエンコーディングに関してはとくに上述の設定を行うことなく、正常実行可能です。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門