Python3.0からはすべてのテキストがunicodeです。Python2.xではuの前置きでunicodeになります。
エンコード:unicode型 → str型に変換
unicode型の文字列をShift_JISにエンコード
u’あああ’.encode(‘Shift_JIS’)
デコード:str型 → unicode型に変換
str型の文字列をunicode型にデコード
’あああ’.decode(‘Shift_JIS’)
→ 文字コードを指定しない場合はデフォルトエンコーディングでデコードされる
s.decode()
unicode(s)
デコード前のエンコーディングを指定
s.decode(‘utf-8’)
unicode(s, ‘utf-8’)
メールで使うISO-2022-JP(JIS)に変換する場合、機種依存文字がエラーとなる場合があります。そのためにreplaceかignoreを使うとよいです。
replace
return s.encode(‘ISO-2022-JP’, ‘replace’)
replaceを指定すると変換に失敗した場合、encodeの場合は「?」に、decodeの場合は「REPLACEMENT CHARACTER(u”\uFFFD”)に置き換えられます。
ignore
return s.encode(‘ISO-2022-JP’, ‘ignore’)
ignoreを指定すると変換出来ない文字列が無視されます。
0 件のコメント:
コメントを投稿