URLパーセントエンコード解析(RFC 3986厳格モード)
encodeURI・encodeURIComponent・RFC 3986を選び分け、置換された文字のマッピング表まで分析
URLのパスやクエリパラメータの値にテキストを安全に使えるようパーセントエンコードするツールで、encodeURIComponentが見落とす !、'、(、)、* まで置換するRFC 3986厳格モードも選べます。仕様ごとにどの文字がどう置き換わったのかを、半角スペース → %20 のようなバイトの対応表としてその場で分析表示するのが特徴です。デコードでは %20 や %E3%81%82 を含む文字列を元のテキストに復元します。
도구를 불러오는 중…
🔒 すべてブラウザ内で処理されます。アップロードしたファイルや入力内容がサーバーに送信されることはありません。
使い方
- 「エンコード」または「デコード」のモードを選びます。
- エンコードの場合は、対象の仕様(クエリパラメータの値、URL構造を保持、RFC 3986)を選んでからテキストを入力します。
- デコードの場合は、%20 や %E3%81%82 などを含む文字列を貼り付けると、そのまま元のテキストに復元されます。
- 置換された記号とバイトの対応表(半角スペース → %20 など)をリアルタイムで確認できます。
よくある質問
- encodeURIとencodeURIComponentは何が違うのですか?
- encodeURIはURLとして意味を持つ文字(: / ? & = + など)をそのまま残しますが、encodeURIComponentはこれらの文字もすべてエンコードします。クエリ文字列の「値」を入れる場合は後者を使わないと、URLの構造が壊れてしまいます。
- RFC 3986準拠の厳密なエンコードはなぜ必要なのですか?
- JavaScript標準のencodeURIComponentは、感嘆符(!)、シングルクォート(')、括弧(( ))、アスタリスク(*)などの一部の記号をエンコードしません。OAuthの署名仕様や、仕様に厳格なサーバーAPIと通信する場合は、RFC 3986に合わせておかないと認証エラーや通信不具合の原因になります。
- 空白文字は常に%20にエンコードされますか?
- いいえ。encodeURI・encodeURIComponent・RFC 3986はいずれも空白を%20として表記しますが、従来のフォーム送信で使われるapplication/x-www-form-urlencoded形式では、空白はプラス記号(+)に置き換えられます。このツールはURIエンコーディング標準(%20)に従って動作するため、フォームデータを扱う際はこの違いに注意が必要です。
