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

URLエンコーダー/デコーダーは、テキストをパーセントエンコードされたURLに、またはその逆にリアルタイムで変換します。色分けされたパーツを持つインタラクティブなURL構造図、encodeURIとencodeURIComponentのライブ比較、多層デコードのためのエンコード深度検出、編集可能なクエリパラメータテーブル、文字レベルの差分ハイライト、6言語でのコードスニペットを搭載。100%クライアント側処理 — データがブラウザの外に出ることはありません。

0 文字
0 文字

ご提案はありますか?

新しいツールのリクエストや改善提案をお待ちしています — Slackコミュニティにご参加ください!

Slackでフィードバックする

URLエンコーディング(パーセントエンコーディング)とは?

URLエンコーディングは、パーセントエンコーディングとも呼ばれ、RFC 3986で定義されています。URLで許可されていない文字や特別な意味を持つ文字を、パーセント記号と16進数字を使用した安全な表現に変換します。例えば、スペースは%20に、アンパサンドは%26になります。JavaScriptには2つの組み込み関数があります:encodeURI()は: / ? #のような構造文字を保持しながら完全なURLをエンコードし、encodeURIComponent()はすべての特殊文字をエスケープする必要がある個別の値をエンコードします。このツールはサーバー通信なしにブラウザ内ですべてのエンコードとデコードを実行します。

URLエンコーダー / デコーダーの使い方

  1. テキストタブでテキストを入力するか貼り付け — 文字レベルの差分ハイライト付きでリアルタイムにエンコードされます
  2. エンコードモードを選択:encodeURIComponent(値用)、encodeURI(完全なURL用)、または生のRFC 3986
  3. URLパーサータブでURLを貼り付けて、色分けされたパーツ(スキーム、ホスト、パス、クエリ、フラグメント)で構造を確認
  4. インタラクティブなテーブルでクエリパラメータを編集し、再構築されたURLをコピー
  5. 比較タブでencodeURIとencodeURIComponentの間で異なる文字を正確に確認

よくある質問

encodeURIとencodeURIComponentの違いは何ですか?

encodeURI()は完全なURLのエンコード用に設計されており、:、/、?、#、@などのURL構造文字を保持します。encodeURIComponent()はすべての特殊文字をエンコードし、個別の値(クエリパラメータなど)のエンコードに使用すべきです。例えば、encodeURI('https://example.com/path?q=hello world')はURL構造を保持しますが、encodeURIComponent('hello world')は'hello%20world'を返します。完全なURLにencodeURIComponentを使用すると、://や/文字がエンコードされてURLが壊れます。

URLにスペースの代わりに%20が表示されるのはなぜですか?

URLにはリテラルのスペースを含めることができません — %20としてパーセントエンコードする必要があります(フォームデータでは+が使われることもあります)。ブラウザのアドレスバーにURLを貼り付けると、ブラウザが自動的にスペースをエンコードします。%20はRFC 3986に準拠したURLでスペースを表現する標準的な方法です。このツールでは、どの文字がエンコードされるかを正確に確認し、読みやすいテキストにデコードして戻すことができます。

二重エンコードとは何ですか?どう検出しますか?

二重エンコードは、既にエンコードされたテキストがもう一度エンコードされた場合に発生します。例えば、%20(スペース)は%2520になります(%が%25にエンコードされるため)。これはソフトウェアパイプラインでURLエンコーディングが2回適用された場合によく起こります。このツールのエンコード深度検出器は多層エンコーディングを自動的に識別し、各デコード層を表示するため、問題の診断と修正が容易になります。

エンコードせずにURLで安全に使える文字はどれですか?

RFC 3986では、エンコード不要な非予約文字を定義しています:A-Z、a-z、0-9、ハイフン(-)、ピリオド(.)、アンダースコア(_)、チルダ(~)。: / ? # [ ] @ ! $ & ' ( ) * + , ; =のような予約文字はURL構造で特別な意味を持ち、データ値として使用する場合にのみエンコードすべきです。完全なリストは比較タブのRFC 3986リファレンステーブルで確認できます。

このツールを使用する際、データは安全ですか?

はい。このURLエンコーダー/デコーダーは、JavaScript組み込みのencodeURIComponent()とdecodeURIComponent()関数を使用してブラウザ内で100%動作します。テキストやURLがサーバーに送信されることはありません。すべての処理はデバイス上でローカルに行われます。

関連ツール