プログラムでリクエストなどをするときにURLに日本語が含まれている場合はエンコードをしなければならない場合があります。はじめてのかたがエンコードときくとなんのことかわからないかもしれませんが、エンコード文字はよくみる%が含まれている文字です。
たとえばこれはなんでしょうか
「%E3%81%8A%E3%81%AF%E3%82%88%E3%81%86」
このエンコード文字をデコードすると
「おはよう」
になります。
ではpythonで日本語をエンコードするにはどうしたらいいのかについて解説していきます。
urllibをつかってurlをエンコードやデコードするためのコード
Pythonでは、urllib
モジュールを使用してURLエンコードを行うことが一般的です。具体的な方法は以下の通りです。
#urlのエンコード及びデコード import urllib #エンコード encode_url = urllib.parse.quote('日本語') print(encode_url) #デコード print(urllib.parse.unquote(encode_url))
日本語文字が含まれているURLをエンコードすると、%表記になります。つまりエンコード文字になります。
エンコード文字をデコードすると日本語文字にしてくれます。詳しいことを知らなくも、これができれば十分です。ブラウザは日本語文字をちゃんと認識してくれない時がたまにあります。そいうときにこのurllibが活躍します。
わざわざurllibを使用しなくてもウェブサービスで実行できます。
以下にURLエンコードデコードができるウェブサイトリンクを貼り付けておきます。
URLエンコード・デコード|日本語URLをサクッと変換 | すぐに使える便利なWEBツール | Tech-Unlimited
URLのエンコードやデコードについてはリンク先にも書かれていますが最後にもう一度おさらいしておきましょう
URLを半角英数字・記号に変換する事を「URLエンコード」といいます。
逆に日本語に戻す事を「URLデコード」といいます。
コメント