Python温泉に来て以前貰ったReal World Haskellを読み進めています.Haskellとは関係ないですが,さっきUnicodeとかutf-8とかのエラーについてさぼてんの人や@tokibitoさんや@whosaysniさんに教えてもらったのでメモ. Pythonのstringはbyte列であり,Unicode文字列は内部でどのような表現が使われているかプログラマが意識しなくていいというのがミソだった.どのようなbyte列であるかを指定するにはUnicode文字列を作成するとき*1や,Unicode文字列をPythonの外に出す(端末への出力やファイルへのリダイレクト)ときに指定する必要がある. 具体的には端末上では動いているけれどもファイルへリダイレクトするときにエラーがでるときがある.これは端末はUnicode文字列をどのようなバイト列で出力すればいいかを教えてくれるとい