メインコンテンツへスキップ
SDETRole
SDETRole

テスト設計・開発ユーティリティ

URL エンコード / デコードツール

テキストのパーセントエンコード・デコード、クエリ解析、URL の分解。

すべてブラウザ内で動作 登録不要

Plain text

0 chars

Encoded

About this mode

encodeURIComponent: use for a single query value or path segment. Escapes everything except A-Z a-z 0-9 - _ . ! ~ * ' ( ).

このツールについて

エンコーディングのバグは、API の欠陥の確実な発生源です。スペースに変わってしまうプラス記号、値に含まれるアンパサンドがパラメーターを分割してしまう、二重にエンコードされたリダイレクト URL などです。このツールは、よく使われる 3 つのエンコーディングを明示的に扱います。コンポーネントモードは単一の値向けの encodeURIComponent、完全な URI モードは URL 全体向けの encodeURI、フォームモードはブラウザが HTML フォームで送る形式に対応します。クエリパーサーはすべてのパラメーターを順番に、デコード後と生の形式で一覧表示し、多くのツールが黙ってまとめてしまう tag=a&tag=b のような重複キーも保持します。URL の分解には、fetch() と同じブラウザの WHATWG URL パーサーを使います。

使い方

  1. 「Encode」(エンコード)か「Decode」(デコード)とエンコードのモードを選び、テキストを貼り付けます。
  2. 「Swap」(入れ替え)で出力を入力に戻し、往復変換を確認します。
  3. 「Query parser」(クエリパーサー)に切り替えて、重複や空のものも含めてパラメーターを確認します。
  4. 「URL breakdown」(URL の分解)で、プロトコル、ホスト、ポート、パスのセグメント、クエリ、フラグメントを個別に確認します。

URL エンコード / デコードツール のよくある質問

encodeURI ではなく encodeURIComponent を使うべきなのはどんなときですか?

クエリの値 1 つやパスのセグメント 1 つなど、単一の部分には encodeURIComponent を使います。& = ? / # をエスケープするからです。encodeURI はそれらの文字をそのまま残すため、すでに正しく構成された URL 全体にのみ使ってください。

+ がスペースを意味することがあるのはなぜですか?

HTML フォームや多くのクエリ文字列で使われる application/x-www-form-urlencoded のデータでは、+ はスペースを表します。パスの中では + は文字どおりのプラス記号です。値に + が含まれる可能性がある場合は、%2B とエンコードしてください。

「Malformed percent-encoding」(不正なパーセントエンコーディング)とはどういう意味ですか?

% の後には 2 桁の 16 進数が続き、隣接するエスケープと合わせて正しい UTF-8 になる必要があります。単独の % や、%E2%82 のように途中で切れたマルチバイト列はデコードできません。

キーワードを入力すると SDETRole 全体を検索できます。

Pagefind による全文検索 · ブラウザ内で動作します 検索ページを開く →