Pythonで日本語を扱う方法について説明します。
文字コードを指定する方法
Pythonにおける文字列はasciiコードでエンコードされるため、日本語のようなマルチバイト文字があるとエラーとなってしまいます。
例えばエンコーディングを指定せずに日本語を扱うと以下のようなエラーが出る可能性があります。
1 |
SyntaxError: Non-ASCII character '\xe3' in file sample.py on line 5, but no encoding declared; |
日本語をプログラム中で扱う場合には、プログラムの先頭で文字コードを指定し、指定した文字コードでファイルを保存する必要があります。
Pythonプログラムの文字コードを指定し日本語(UTF-8)を扱えるようにするには、プログラムの1行目もしくは2行目に次のように記述します。
1 |
# coding: エンコーディング名 |
1 |
# coding=エンコーディング名 |
1 |
# -*- coding: エンコーディング名 -*- |
上記3つのどの書き方でも正常に動作します。
文字コードをUTF-8に設定する
文字コードをUTF-8に指定する例を示します。PythonではUTF-8が最もよく使われているようです。
1 |
# coding: UTF-8 |
エンコーディング名は大文字(UTF-8)でも小文字(utf-8)でも構いません。ファイルを保存する際はプログラムで指定した文字コードで保存してください。
この他にも代表的な日本語のエンコードとしてShift_JIS、EUC-JIS、 ISO-2022-JPなどがあります。