Unicode †
基本 †
- 「unicode型」と、たとえば「UTF-8文字コード列」等の「Unicodeの文字列」は「別物」である
- pythonで国際化されているライブラリやアプリケーション等では、unicode型での入出力を前提にしているものがほとんど
- pythonで日本語を扱う場合においてはunicode型を利用するのが無難
- unicode型のメソッド
- encode( [文字コード] ) ... unicode型を特定の文字コードのバイト列(のstr型)にエンコード
- decode() ... 特定の文字コードのバイト列(のstr型)をデコードしてunicode型に変換
- 文字コードを省略したような場合など、「文字コードが指定されていないケースでエンコード」しなければならない局面では、encodeやstrはsys.getdefaultencoding()で取得できる、「デフォルトエンコーディング」の値を使用
UnicodeEncodeError? が出たときの対処法 †
Pythonで日本語処理していると、こんなエラーによく出くわす
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128)
こんなエラーが出たら慌てずに以下を行う
- unicode型 -> str型
ustr.encode('utf_8')
文字コード判別 †
文字列処理 関数一覧 †
- 文字列 → 数値
- int(str)
- float(str)
- long(str)
- complex(str)
- 特定文字除去
- rstrip() ... 行末の空白文字を取り除く。文字を指定しない場合は '\t', '\n', '\r', '\v', '\f' が除去される。
- 文字列をリストに分割
- split(ch) ... 指定文字で区切った結果をリストとして取得
- 文字列の左寄せ、右寄せ
- ljust(width[, fillchar]) ... width の長さをもつ左寄せした文字列を返す。パディングには fillchar で指定された文字(デフォルトではスペース)が使われる。width が len(s) よりも小さい場合、元の文字列が返される。
- rjust(width[, fillchar]) ... width の長さをもつ右寄せした文字列を返す。パディングには fillchar で指定された文字(デフォルトではスペース)が使われる。width が len(s) よりも小さい場合、元の文字列が返される。
Tips †