功能介紹
URL 編碼又稱為百分比編碼(percent-encoding),會把 URL 中不允許或具有特殊意義的字元,替換成 % 加上兩個十六進位數字。空格變成 %20,& 符號變成 %26,而像 中文 這樣的非 ASCII 文字會先轉成 UTF-8 位元組,再把每個位元組寫成 %XX。
這個工具可以把文字編碼,讓你安全地放進查詢字串、路徑片段或 API 請求;也可以把從日誌、瀏覽器網址列或 HTTP 追蹤中複製來的百分比編碼字串,解碼回易讀的文字。
使用方式
- 把文字或網址貼到 輸入 框,或按 範例。
- 選擇 編碼 或 解碼。
- 編碼時,選擇 參數值 來編碼單一值(例如搜尋關鍵字),或選擇 完整 URL 來保留
:、/、?、&和=。 - 處理 HTML 表單資料時開啟 空格用 +;開啟 逐行處理 則可以一次處理一整份值的清單。
- 複製或下載結果。如果解碼失敗,錯誤訊息會告訴你損壞的跳脫序列所在位置。
範例
把搜尋關鍵字 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 等舊字元集編碼。
› 我的資料會被傳送到伺服器嗎?
不會。編碼和解碼完全在你的瀏覽器中執行。