はじめに
こんにちは、Python界の情弱です。明日(日付的には今日)iPhone 4S買うからちょっと浮かれてます。某Skypeチャットで「Unicodeが\uXX\uYYみたいなまま保存されたテキストファイルの処理ができない!」っていう話題があって、ちょうど前に調べたので回答したら意外と反響あったのでここにもメモっておきます。
Unicode文字列しかないファイルをdecodeするとき
たとえばこんなファイルだった場合。
- hoge.txt
\u3068\u3093\u3077\u30fc
こうすればいいです。
fp = open('hoge.txt','rb') data = fp.read() print data.decode('unicode-escape')
これでできた。
$ python convert.py とんぷー
ちなみに対応しているエンコーディング一覧はここ。思いつくのはたぶん大抵載ってる。