URLのエンコード・デコード方法
- エンコードかデコードを選びます。
- 値1つならパラメータの値、アドレス全体ならURL全体を選びます。
- テキストを貼り付けて結果をコピーします。URL全体は要素ごとにも分解して表示します。
予約文字と危険な文字
? & = # / はURLで特別な意味を持ちます。値にこれらが含まれる場合はエンコードしないと、&を含む検索語のようにURLが間違った位置で切れてしまいます。
コードでのエンコード
JavaScriptは値に encodeURIComponent、クエリ作成には URLSearchParams を使います。Pythonは urllib.parse.quote と urlencode です。値は1回だけエンコードしましょう。二重にすると % が %25 になります。
トラッキングリンクを読む
マーケティングのリンクには utm_source や utm_campaign などのパラメータが付きます。URLの構成表示ではすべてのパラメータをデコードして一覧にするので、長いリダイレクトURLも確認しやすくなります。
よくある質問
URLエンコードとは?
空白、日本語、&などURLにそのまま使えない文字を、%の後にUTF-8のバイトを16進数で書く方法です。空白は%20、「あ」は%E3%81%82になります。
+が空白になるのはなぜ?
フォーム送信やクエリ文字列では、+は伝統的に空白を意味するため、デコード時に空白に変えます。
encodeURIとencodeURIComponentの違いは?
encodeURIComponentは / ? & = もエンコードするので値向き、encodeURIはそれらを残すのでURL全体向きです。
