URLのエンコードとデコード方法

開発者

URLエンコードが必要な理由、URLで安全に使用するための特殊文字のエンコード方法、パーセントエンコードされた文字列のデコード方法を学びましょう。

ステップガイド

1

URLエンコードを理解する

URLには限られたASCII文字しか含められません。特殊文字(スペース、&、=、#など)はパーセントエンコードが必要です:%に続く2桁の16進コードに置換します。例:スペース→%20、&→%26。

2

ツールでURLをエンコードする

URLエンコーダーに文字列を貼り付けて「エンコード」をクリックすると、すべての特殊文字がパーセントエンコード形式に変換されます。結果はURLで安全に使用できます。

3

URLエンコードされた文字列をデコードする

パーセントエンコードされた文字列を貼り付けて「デコード」をクリックすると元のテキストが表示されます。ログ・APIレスポンス・フォームから受け取った文字化けURLに役立ちます。

4

クエリ値のみエンコードし、URL全体はエンコードしない

https://example.com/search?q=hello world のようなURLを構築する場合、値のみエンコードします:q=hello%20world。URL全体をエンコードすると://・?・=もエンコードされURL構造が壊れます。

5

encodeURIComponentとencodeURIの違い

encodeURIComponentは未予約文字(A-Z・a-z・0-9・-・_・.・~)以外をすべてエンコードします。クエリ値に使用。encodeURIはURL構造文字(:・/・?・#)をスキップします。URL全体に使用。

無料ツールを使う

URL エンコーダー/デコーダー

よくある質問

Q: %20と+の違いは何ですか?

A: どちらもスペースを表しますが、コンテキストが異なります。%20はURL全体でスペースの標準パーセントエンコードです。+はHTMLフォームのクエリ文字列(application/x-www-form-urlencoded)でのスペースです。ほとんどの現代のデコーダーは両方に対応しています。

Q: URLに%3Aや%2Fが表示されるのはなぜですか?

A: %3A=コロン(:)、%2F=スラッシュ(/)。URL構造上の意味を持つ文字がクエリパラメータの値に含まれてエスケープが必要なときに表示されます。

Q: パスもエンコードする必要がありますか?

A: パスセグメントはスペースや非ASCII文字をエンコードする必要がありますが、セグメントを区切るスラッシュ(/)はエンコードしません。各パスセグメントに個別にencodeURIComponentを使用してください。