| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Python UnicodeEncodeError の対処」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
1行目: 1行目:
==Python UnicodeEncodeError の対処==
+
==[[Python UnicodeEncodeError の対処]]==
[[Python]] | {{category 文字化け}}
+
[[Python]] | [[Category:文字化け]]
  
 
*http://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
 
*http://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
16行目: 16行目:
  
  
*PyScripter 日本語ファイルエラーの対応
+
*[[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')


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

encode/decode

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

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