「Python UnicodeEncodeError の対処」の版間の差分
ナビゲーションに移動
検索に移動
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
− | ==Python UnicodeEncodeError の対処== | + | ==[[Python UnicodeEncodeError の対処]]== |
− | [[Python]] | + | [[Python]] | [[Category:文字化け]] |
*http://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html | *http://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html | ||
16行目: | 16行目: | ||
− | + | *[[PyScripter 日本語ファイルエラーの対応]] | |
===encode/decode=== | ===encode/decode=== |
2020年2月16日 (日) 04:31時点における最新版
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')
encode/decode
- unicode文字列に対してencode()メソッドを呼び出すとstr文字列が得られる
- str文字列に対してdecode()メソッドを呼び出すとunicode文字列が得られる
<blockquote>実はstr文字列にも encode() メソッドが存在し、またunicode文字列にも decode() メソッドが存在する。なので 'あいう'.encode() とすると UnicodeDecodeError が発生するといった奇妙なことが起こる。</blockquote>
© 2006 矢木浩人