このツールについて
スペース、アクセント文字、&、=などの記号はURLにそのまま入れられず、%XXのエスケープシーケンス(パーセントエンコーディング)にする必要があります。重要なのはどちらの関数を使うか:encodeURIComponentは&・=・?を含むすべてをエスケープし、パラメータ値に正解。encodeURIはURL構造の文字を保持し、完全なURLのエンコード専用です。
この2つの混同は定番のバグです。パラメータにencodeURIを使うと、&や=を含む値が静かに壊れます。詳しくはencodeURI vs encodeURIComponentをご覧ください。コンバーター下のクエリ文字列パーサーは、貼り付けたURLの各パラメータを編集可能な表にデコードします——名前や値を変更すると完全なURLが再構築されます。すべてブラウザ内で動作 — その他のツールはdec0de.devへ。
URL(パーセント)エンコードは、URL を壊すような文字を % と 16 進のバイト値に置き換えます——空白は %20、アンパサンドは %26 になります。検索語、リダイレクト先、トークン、非 ASCII テキストをリンクやクエリ文字列に安全に入れる方法です。予約文字(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)、空白、そして非予約集合(英数字と - _ . ~)以外はすべてエンコードされ、それ以外は読める形のまま残ります。
よくある質問
encodeURIComponent と encodeURI、どちらを使う?
単一のクエリ値やパスセグメントには encodeURIComponent を使います(&・=・?・/ などをエンコード)。壊したくない URL 全体にだけ encodeURI を使います。値を encodeURI でエンコードするのは典型的なバグです。
空白が %20 のときと + のときがあるのはなぜ?
URL のパスでは空白は %20 です。form-urlencoded 形式のクエリ文字列では空白はしばしば + と書かれます。どちらも空白に戻り、「+ を空白として扱う」トグルで両モードを切り替えられます。
値のリストを一括でエンコードできますか?
はい。「バッチ:1行に1値」をオンにすると、各行が独立してエンコード・デコードされ、順序と空行はそのまま保たれます。結果はコピーもテキストファイルのダウンロードも可能です。
実際にエンコードが必要な文字は?
予約文字(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)、空白、非 ASCII テキスト、制御文字です。非予約集合——英数字と - _ . ~——は常にそのまま残ります。
デコードが「エスケープが無効」で失敗するのはなぜ?
% の後ろにはちょうど 2 桁の 16 進数が必要で、得られたバイト列は妥当な UTF-8 でなければなりません。エンコードされていないそのままの %(%25 と書く)、%2 のような途中で切れた列、他の文字コードのバイトはいずれもデコードを壊します。本ツールは問題のシーケンスと位置を示し、その場所へジャンプできます。
URL データは非公開に保たれますか?
はい。エンコード・デコード・クエリ文字列の解析はすべてブラウザ内で実行されます。入力内容は再読み込み後も残るようこのブラウザの local storage にのみ保存され、「クリア」ボタンで消去できます。どこにもアップロードされません。