DevToolPal
繁

URL 編碼解碼

把文字做百分比編碼,安全放進 URL 和查詢參數;或把 %XX 序列解碼回易讀文字。

本機處理,不會上傳

選項

模式
編碼範圍

輸入

0 字元 · 0 B

輸出

0 字元 · 0 B

功能介紹

URL 編碼又稱為百分比編碼(percent-encoding),會把 URL 中不允許或具有特殊意義的字元,替換成 % 加上兩個十六進位數字。空格變成 %20,& 符號變成 %26,而像 中文 這樣的非 ASCII 文字會先轉成 UTF-8 位元組,再把每個位元組寫成 %XX。

這個工具可以把文字編碼,讓你安全地放進查詢字串、路徑片段或 API 請求;也可以把從日誌、瀏覽器網址列或 HTTP 追蹤中複製來的百分比編碼字串,解碼回易讀的文字。

使用方式

  1. 把文字或網址貼到 輸入 框,或按 範例。
  2. 選擇 編碼 或 解碼。
  3. 編碼時,選擇 參數值 來編碼單一值(例如搜尋關鍵字),或選擇 完整 URL 來保留 :、/、?、& 和 =。
  4. 處理 HTML 表單資料時開啟 空格用 +;開啟 逐行處理 則可以一次處理一整份值的清單。
  5. 複製或下載結果。如果解碼失敗,錯誤訊息會告訴你損壞的跳脫序列所在位置。

範例

把搜尋關鍵字 hello world & more 以參數值方式編碼,會得到:

hello%20world%20%26%20more

解碼 q=%E4%BD%A0%E5%A5%BD 會得到 q=你好。

該用哪一種

  • 手動組合查詢字串時:把每個 值 以參數值方式編碼,再用 & 和 = 串接。
  • 整理含有空格或中文字的完整連結時:使用 完整 URL,保留連結的結構。
  • 閱讀伺服器日誌時:開啟 空格用 + 再解碼,因為很多伺服器會以這種格式記錄表單資料。

常見問題

› 「參數值」和「完整 URL」有什麼不同?

「參數值」會編碼所有保留字元,包括 / ? & = 和 #,所以結果可以安全地放進單一查詢參數或路徑片段,對應 JavaScript 的 encodeURIComponent。「完整 URL」則保留這些字元,讓網址仍然可以當作連結使用,對應 encodeURI。

› 空格應該變成 %20 還是 +?

路徑和大多數 API 用 %20。只有 HTML 表單資料(application/x-www-form-urlencoded)才用 +,也就是瀏覽器送出表單時使用的格式。這種情況請開啟「空格用 +」。

› 為什麼解碼時出現「not valid UTF-8」?

%XX 位元組無法組成完整的 UTF-8 字元,通常是因為文字在多位元組字元的中間被截斷,或是以 GBK、Big5、Latin-1 等舊字元集編碼。

› 我的資料會被傳送到伺服器嗎?

不會。編碼和解碼完全在你的瀏覽器中執行。