URL編碼 編碼器 / 解碼器 線上 - DenCode
解碼結果
編碼結果
關於URL編碼
URL編碼是一種在 URL 中安全表示文字的編碼方式。其正式名稱是 URI 規格 RFC 3986 中定義的「百分號編碼 (percent-encoding)」。
在 URL 中具有特殊意義的字元,或不適合直接放入 URL 的字元,會轉換為百分號 (%) 加兩位十六進制數字的形式。
例如,半形空格表示為 %20,感嘆號 (!) 表示為 %21,日文字元「あ」在 UTF-8 中表示為 %E3%81%82。
URL編碼會先使用所選字元編碼將文字轉換為位元組序列,然後按需要將每個位元組表示為 %HH。在 DenCode 中,RFC 3986 的非保留字元,即英文字母、數字以及 -、.、_、~ 不會被轉換,其他字元會進行百分號編碼。
| 字元 | URL編碼後 | 說明 |
|---|---|---|
A | A | 英文字母和數字是非保留字元,因此不會轉換。 |
- | - | -、.、_、~ 是非保留字元,因此不會轉換。 |
/ | %2F | 此字元用於分隔 URL 路徑片段;作為值使用時需要編碼。 |
? | %3F | 表示查詢字串開始的保留字元。 |
& | %26 | 用於分隔查詢參數的保留字元。 |
= | %3D | 用於分隔查詢參數名稱和值的保留字元。 |
| 半形空格 | %20 | 在 URL 的百分號編碼中會編碼為 %20;在 application/x-www-form-urlencoded 中會編碼為 +。 |
+ | %2B | 當 + 本身作為值使用時,需要進行編碼。 |
あ | %E3%81%82 | 在 UTF-8 中會編碼為 3 個位元組的序列。 |
例如,將「Hello, world!」進行 URL編碼後如下。
Hello%2C%20world%21
在此例中,逗號 (,) 轉換為 %2C,半形空格轉換為 %20,感嘆號 (!) 轉換為 %21。
application/x-www-form-urlencoded 中的空格表示
HTML 表單提交等情況使用的 application/x-www-form-urlencoded 中,半形空格可以表示為 +。此格式在 HTML Standard 中定義為表單提交編碼。
DenCode 在編碼時可選擇將半形空格輸出為 %20 或 +。
| 格式 | 「Hello world」的轉換結果 | 用途 |
|---|---|---|
| 百分號編碼 | Hello%20world | 適用於一般 URL 的格式。 |
application/x-www-form-urlencoded | Hello+world | 用於 HTML 表單的查詢字串和請求本文。 |