URL 編碼 / 解碼

線上 URL 編碼與解碼(百分比編碼),以 UTF-8 處理中文,空白可選擇 %20(RFC 3986)或 +(表單格式)。

網址結構

項目 / 參數 值(已解碼) 複製

URL 編碼是什麼?

網址只能使用有限的字元。中文、空白,以及 &、=、? 這類在網址中有特殊意義的符號,放進網址參數前必須先編碼。URL 編碼(也稱百分比編碼)會把字元轉成 UTF-8 位元組,再寫成 % 加兩位十六進位數字,例如「中」會變成 %E4%B8%AD。

如何使用

  1. 按「編碼」或「解碼」選擇方向,按下的按鈕會亮起。
  2. 在左邊輸入內容。開啟「自動轉換」時,停止輸入後會自動產生結果。
  3. 按「結果放回輸入」可以把結果移到左邊,並自動切換成相反方向。

空白要編成 %20 還是 +?

範例

a b&c=中文 編碼後是:

a%20b%26c%3D%E4%B8%AD%E6%96%87

和 JavaScript encodeURIComponent 有什麼不同?

結果大致相同,差別是本工具依 RFC 3986 另外編碼 !、'、(、)、* 五個字元,只保留英文字母、數字和 -、_、.、~,在各種伺服器上都比較不容易出錯。

編碼範圍與網址解析

常見問題

可以把整個網址直接編碼嗎?

用預設的「參數值」編碼整個網址,會把 ://、?、& 也一起編碼,網址就無法使用。要處理整個網址時,請把「編碼範圍」改成「完整網址」,會保留網址結構,只編碼網址不允許的字元;單獨的參數值則用「參數值」。

解碼時顯示「不是有效的 URL 編碼字串」?

% 後面必須接兩個十六進位字元(0–9、A–F)。如果內容本身就有 %(例如 100%),代表它沒有被編碼過,不需要解碼。

結果出現 %2520 是什麼意思?

代表內容被編碼了兩次:% 本身又被編成 %25。把結果再解碼一次就能還原。