Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

PythonでURLエンコード/デコード

PythonでURLエンコード/デコードする方法です。

実際のところ

マルチバイト文字列をURLエンコードするにはquote_plus

print(urllib.parse.quote('日本語'))
#>> %E6%97%A5%E6%9C%AC%E8%AA%9E

URLエンコードされた文字列をマルチバイト文字列にするにはunquote

print(urllib.parse.unquote('%E6%97%A5%E6%9C%AC%E8%AA%9E'))
#>> 日本語

バイト遊びをしたい時はunquote_to_bytes

up.unquote_to_bytes('%E6%97%A5%E6%9C%AC%E8%AA%9E')
#>> b'\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e'
up.unquote_to_bytes('日本語')
#>> b'\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e'