Python - 文字列をデコードする

Unicode エスケープされたバイト列を文字列に変換

バイト列から文字列への変換(デコード)は decode() を使用します。第一引数には unicode-escape、または unicode_escape を指定します。

b = b'\\u3042\\u3044\\u3046\\u3048\\u304a'

print(b.decode('unicode-escape'))
# あいうえお
Unicode エスケープされたバイト列を文字列に変換

文字列を URL デコード: urllib.parse.unquote()

文字列を URL デコード (パーセントデコード) するには urllib.parse.unquote() 関数を使用します。

import urllib.parse

s = '%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A'

print(urllib.parse.unquote(s))
# あいうえお
文字列を URL デコード: urllib.parse.unquote()

文字コードを指定して URL デコードしたい場合は、第二引数に指定できます。第二引数を省略した場合、utf-8 でデコードされます。

import urllib.parse

s = '%82%A0%82%A2%82%A4%82%A6%82%A8'

print(urllib.parse.unquote(s, encoding='shift-jis'))
# あいうえお
文字列を URL デコード: urllib.parse.unquote()

関連記事