Pythonでパーセントエンコード(URLエンコード)

パーセントエンコードの詳しい説明はWikipedia参照。
参考: パーセントエンコーディング – Wikipedia

要するに、日本語などURLの中で使えない文字列を表示する方法です。
上記のWikipediaのリンクも、「パーセントエンコーディング」に相当する部分が
%E3%83%91%E3%83%BC%E3%82%BB%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0
になっています。

このようなエンコードと、デコードをPythonで行う方法を調べました。
結論として、url関係のライブラリである、urllibで実装できるようです。

まず、エンコード。
これは、urllib.parse.quote でできます。


from urllib.parse import quote
print(quote("パーセントエンコーディング"))
"""
%E3%83%91%E3%83%BC%E3%82%BB%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0
"""

次に、逆変換(デコード)です。
これは、urllib.parse.unquote でできます。
パーセントエンコーディングだと長いので、サンプルを少し短くしました。


from urllib.parse import unquote
print(unquote("%E3%83%91%E3%83%BC%E3%82%BB%E3%83%B3%E3%83%88"))
"""
パーセント
"""

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です