« はじめてのこころぐ | トップページ | planetarian ~ちいさなほしのゆめ~ / Key »

2004年12月 9日

Pythonでの日本語(つうか多国語)の扱い方

 PyJUGの日本語関連にまとめられていますがあらためて整理。


site.py を編集しないとコンソール入出力でコケる

 デフォルトエンコーディングの指定をしないと ASCII の範囲から外れる文字の入出力でエラーが出る。IDLE を使えば出力の方はごまかせるようですが raw_input 等での入力の方は unicode でなくローカルなコードのままなのでいずれにしろ何らかの方法で encode する必要あり。
 ソースで直接コーデックを指定するより unicode() 等コーデック指定無しのデフォルトのまま使えるようデフォルトエンコーディングを指定してしまった方が、ソースの流用が効いて良い感じ。


■ 文字列リテラルは u"" で書く

 もちろんソースコードのエンコーディング指定は必須。
 また web やメール等、文字コードが不定な場所を経由するソースにはエンコーディング指定を明示的に書き込まない(つまりそのまま BOM 付き utf-8 に変換すれば実行出来る形に)方が後々の手間を省けそう。


■ プログラムの 外部→内部 には decode()、内部→外部 には encode()

 外部のテキストデータとのやりとりは入出力の時点で(内部が Unicode になるよう)変換すること。
 またプログラムが自己目的で使うテキストファイルは utf-8 にした方が、出力したデータごと他所に持って行く場合にも便利。(但し BOM には注意)


 と、こんなもんでいいのかな?
 まあ(ハートマーク)一つ満足に扱えない文字コードは日本語を記述するにも用が足りないですし。その点からも基本は utf-8 でしょう。

« はじめてのこころぐ | トップページ | planetarian ~ちいさなほしのゆめ~ / Key »

パソコン・インターネット」カテゴリの記事

Python」カテゴリの記事

トラックバック


この記事へのトラックバック一覧です: Pythonでの日本語(つうか多国語)の扱い方:

« はじめてのこころぐ | トップページ | planetarian ~ちいさなほしのゆめ~ / Key »

他のアカウント

ブログ妖精

  • ココロ

Affiliate

無料ブログはココログ