トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

Python UnicodeEncodeError の対処



目次



記事一覧

キーワード

Python UnicodeEncodeError の対処

[Python][文字化け]


 以下のようなエラーが発生

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)

内部的に、ユニコードで保持しいている文字列、例えば u1 を、str() 等によって、文字列に変換しようとした場合に発生

str(u1)

encode() を使用して、適切に変換する

u1.encode('utf_8')


PyScripter 日本語ファイルエラーの対応

 encode/decode


  • unicode文字列に対してencode()メソッドを呼び出すとstr文字列が得られる
  • str文字列に対してdecode()メソッドを呼び出すとunicode文字列が得られる

実はstr文字列にも encode() メソッドが存在し、またunicode文字列にも decode() メソッドが存在する。なので 'あいう'.encode() とすると UnicodeDecodeError が発生するといった奇妙なことが起こる。



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.