URL エンコード(パーセントエンコードとも呼ばれます)は、特殊文字を URL で安全に使用できる形式に変換するプロセスです。 URL で使用できない文字(スペース、句読点、非 ASCII 文字など)を、パーセント記号 (%) に続いて、その文字の ASCII コードを表す 2 桁の 16 進数で置き換えます。
たとえば、スペースは %20 としてエンコードされ、コロン (:) は %3A としてエンコードされます。
URL 内の 特殊文字(スペース、疑問符、スラッシュ、アンパサンドなど)が URL 構造を崩すことなく適切に表示されるようにします。
ASCII のみをサポートするシステムとの互換性を確保するために、非 ASCII 文字(アクセント付き文字や非ラテンアルファベットの文字など)をエンコードします。
URL 内の クエリパラメータをエンコードして、ウェブサーバーとブラウザで正しく解析できるようにします。
潜在的に危険な文字をエンコードすることで、URL 内の 悪意のあるデータ操作を防止します。
URL エンコードは、多くのプログラミング言語で組み込み関数を使用して行われることがよくあります。
JavaScript では、encodeURIComponent() または encodeURI() を使用できます。
Python では、urllib.parse.quote() または urllib.parse.quote_plus() を使用できます。
URL 内の安全でない文字を置き換えます。 URL(スペース、&、=、# など)と、それに対応するエンコードされた値。
例:
encodeURIComponent("Hello World!") は "Hello%20World%21" を返します。
HTTP GET リクエストなど、URL 内の クエリパラメータまたは フォームデータをエンコードする場合。
特に API やウェブサービスとやり取りする際に、URL に 特殊文字(スペース、スラッシュ、非 ASCII 文字など)を埋め込む場合。
手動で URL を構築し、 =、&、? などの文字が URL 構造に影響を与えないようにしてください。
読みやすく安全な形式で共有する必要がある短縮 URL やエンコードされたリンク を作成する場合。