無料 URL エンコーダー & デコーダー | OneStepToRank

URL エンコーダー & デコーダー

URL やクエリ文字列で安全に使用できるよう特殊文字をエンコード、またはパーセントエンコードされた文字列を可読テキストにデコードします。すべてブラウザ上で動作します。

URL をエンコード / デコード

Common URL-Encoded Characters

CharacterEncodedDescription
(space)%20Space character
!%21Exclamation mark
#%23Hash / fragment
$%24Dollar sign
&%26Ampersand
'%27Apostrophe
+%2BPlus sign
/%2FForward slash
=%3DEquals sign
?%3FQuestion mark
@%40At sign

支配する ローカル検索

開発者向けツールは序章に過ぎません。OneStepToRank は、サービスエリア全体で Google ランキングを 24 時間監視し、戦略を自動的に最適化して常に上位を維持します。

無料で始める

URL エンコーディングとは?

URL エンコーディングは、正式にはパーセントエンコーディングと呼ばれ、URL で許可されていない、または特別な意味を持つ文字を、パーセント記号と2桁の16進数で安全に表現するプロセスです。この仕組みは RFC 3986(Uniform Resource Identifier)で定義され、URL がインターネット上で正しく伝送されることを保証します。例えば、スペース文字は %20、アンパサンドは %26、クエスチョンマークは %3F にエンコードされます。URL エンコーディングがなければ、ブラウザやサーバーはこれらの文字を構造的な URL コンポーネントとして誤解し、文字列として扱えません。

RFC 3986 と予約文字

RFC 3986 は URL における文字を 2 つのカテゴリに分類します。非予約文字――英字 (A-Z, a-z)、数字 (0-9)、ハイフン、アンダースコア、ピリオド、チルダ――はエンコードせずに URL に使用できます。予約文字 には : / ? # [ ] @ ! $ & ' ( ) * + , ; = などがあり、URI 構文で特別な構造的意味を持ちます。これらの予約文字を URL コンポーネント(例: クエリパラメータの値)内のリテラルデータとして使用する場合は、パーセントエンコードが必要です。エンコードは文字の UTF-8 バイト表現の各バイトを %HH 形式に変換し、HH はバイトの十六進数値です。アクセント付き文字や絵文字などのマルチバイト UTF-8 文字は、複数のパーセントエンコードされたトリプレットを生成します。

Web 開発における URL エンコーディング

主要なプログラミング言語はすべて URL エンコーディング用の組み込み関数を提供しています。JavaScript では encodeURIComponent() が URI コンポーネント用の文字列をエンコードし、encodeURI() は構造文字を保持しつつ完全な URI をエンコードします。Python では urllib.parse.quote()urllib.parse.urlencode() が利用可能です。PHP には urlencode()rawurlencode() があります。URL エンコーディングの適用タイミングと方法を正しく理解することは、セキュアなウェブアプリケーション構築に不可欠です。エンコードが不適切だとバグの原因となり、ユーザー入力をサニタイズせずに URL に直接埋め込むとインジェクション脆弱性につながります。

よくある質問

URL エンコーディングとは何ですか?
URL エンコーディング(パーセントエンコーディング)は、URL で使用できない文字を、パーセント記号(%)と2 桁の十六進数で表す安全な形式に変換します。例えば、スペースは %20、アンパサンドは %26 に変換されます。これは RFC 3986 で定義されており、URL がインターネット上で正しく伝送されることを保証します。
文字列を URL エンコードすべきタイミングは?
URL のクエリパラメータの値として使用する文字列は、特にスペース、アンパサンド、等号、クエスチョンマーク、または非 ASCII 文字が含まれる場合はすべてエンコードしてください。一般的なケースとしては、API リクエスト URL の作成、リダイレクト URL の構築、GET リクエストでのフォームデータ送信、他の URL 内に URL を埋め込む場合などがあります。
encodeURI と encodeURIComponent の違いは何ですか?
encodeURI() はコロン、スラッシュ、クエスチョンマーク、アンパサンドなど、URL で特別な意味を持つ文字を保持します。encodeURIComponent() は文字、数字、ハイフン、アンダースコア、ピリオド、チルダ以外のすべてをエンコードします。クエリパラメータの値には encodeURIComponent() を使用し、URL 全体を構造を保ったままエンコードする場合のみ encodeURI() を使用します。このツールは encodeURIComponent() を使用しています。
エンコードせずに使用できる URL の安全な文字は何ですか?
RFC 3986 によれば、エンコードが不要な非予約文字は次の通りです:A-Z、a-z、0-9、ハイフン (-)、アンダースコア (_)、ピリオド (.)、チルダ (~)。それ以外のすべての文字(スペース、アンパサンド、等号、スラッシュ、非 ASCII 文字など)は、クエリパラメータの値など URL コンポーネントで使用する際にパーセントエンコードすべきです。