メモの日々


2017年04月19日(水) [長年日記]

[python] Python 2の文字列とUnicode文字列の相互変換

Python 2を使っているのでUnicode文字列を扱わないといけない。変換方法を覚えられないのでメモ。

  • 文字列のdecode()メソッドを呼ぶとUnicode文字列を得られる。
  • Unicode文字列のencode()メソッドを呼ぶと文字列を得られる。

UnicodeをUTF-8でエンコードして文字列にするということなんだよなあ。

>>> u"こんにちは"
u'\u3053\u3093\u306b\u3061\u306f'
>>> u"こんにちは".encode("utf8")
'\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf'
>>> u"こんにちは".encode("utf8").decode("utf8")
u'\u3053\u3093\u306b\u3061\u306f'