# URL のエンコード・デコード・解析

URL 用にテキストをパーセントエンコード／デコードしたり、URL をスキーム・ホスト・パス・クエリに分解してクエリを表として編集したりできます。

https://codeknife.dev/ja/url-enkoda/

## できること

URL で使うテキストをパーセントエンコード／デコードし、URL をスキーム・ホスト・ポート・パス・クエリ・フラグメントに分解します。クエリは名前と値の表として編集でき、変更に合わせて URL が組み立て直されます。

## 使い方

1. 1行に1項目でテキストまたは URL を入力または貼り付けるか、テキストファイルをドロップします。
2. モードを選びます。**エンコード**は単一の値で安全でないものをすべてエスケープし、**URL をエンコード**は URL の構造を保って含められないものだけをエスケープし、**デコード**はパーセントエンコードを読み、**解析**は URL を各部分に分けます。
3. 解析モードでは、クエリの表でパラメータを変更・追加・削除し、組み立て直された URL を入力欄からコピーします。

## 例

値のエンコード：

`name=Zoë & co` は `name%3DZo%C3%AB%20%26%20co` になります。URL `https://example.com/zoek?q=kaas en brood` は **URL をエンコード**で `https://example.com/zoek?q=kaas%20en%20brood` になります。

## 知っておくと便利なこと

- スペースは `%20` と書きます。URL のクエリでは `+` もスペースを意味し、クエリの表はそう読みます。
- ASCII 以外の文字は UTF-8 バイトとしてエンコードされます。`é` は `%C3%A9` になります。
- 解析は失敗しません。`/a/b?x=1` のような相対参照はスキームやホストがないだけです。
- 16進数2桁が続かない `%` や、有効な UTF-8 でないエスケープではデコードに失敗し、その行はスキップされます。

## パーセントエンコードとは？

URL に含められるのは限られた安全な文字だけです。値の中のスペース、アクセント、アンパサンドなどそれ以外は、% と各バイトの16進数2桁で書きます。スペースは %20、é は %C3%A9 になります。デコードはその逆です。

## よくある質問

### 「エンコード」と「URL をエンコード」の違いは？

「エンコード」は文字・数字・- . _ ~ 以外をすべてエスケープするので、クエリパラメータのような単一の値に向いています。「URL をエンコード」は : / ? # & = など URL の構造を成す文字を残し、スペースやアクセントなど含められない文字だけをエスケープします。

### クエリの表でプラス記号がスペースになるのはなぜですか？

URL のクエリ部分では + はスペースを表します。HTML フォームからの慣習です。表はそのように読み、スペースはどのパーサーでも受け付けられる %20 として書き戻します。

### このツールは URL をどこかに送信しますか？

いいえ。すべてブラウザ内で行われます。入力した内容が当社のサーバーに送信されることはありません。