読者です 読者をやめる 読者になる 読者になる

Pythonのデフォルト文字コード

Python

Python2ではデフォルトの文字コードとしてASCIIが使われている。
ASCIIは半角英数字を扱う文字コードなので、ひらがなやカタカナ、漢字などの日本語の文章を出力しようとするとエラーになる。
確認してみよう。

f:id:hqac:20150920103453p:plain
まずはtest.pyというファイルを作る。ここに下記のコードを書いてpythonで出力する。

print("こんにちは")

すると、下記のエラーが表示される。
f:id:hqac:20150920103405p:plain
エラーメッセージには「ASCIIでない文字が使われているが文字コードが宣言されていない」とある。

Python文字コードを指定するためには、1行目か2行目に以下のコメントを書く。

# coding: utf-8

f:id:hqac:20150920104652p:plain

f:id:hqac:20150920103502p:plain
これで日本語が正確に出力されるようになる。

なお、Python3ではデフォルトの文字コードとしてUTF-8が使われているため、文頭に"# coding: utf-8"などと書く必要はない。
Pythonのデフォルト文字コードを確認するには、sysモジュールをimportしてsys.getdefaultencoding()関数を使う。

f:id:hqac:20150920103045p:plain

Python2ではasciiが、Python3ではutf-8が使われていることが分かる。