URL 編解碼

URL 編解碼

對 URL 或查詢參數做 percent-encoding 與解碼

瀏覽器本地計算

編碼參數值選“參數值編碼”,編碼完整地址選“完整地址編碼”;兩種模式對 /、? 等字符的處理不同。

範例

輸入

a+b c/中文

示例結果

a%2Bb%20c%2F%E4%B8%AD%E6%96%87

示例使用參數模式。普通解碼不會將 + 當成空格。

技術細節與邊界

百分號後兩個十六進制數字表示一個字節。瀏覽器先用 UTF-8 編碼,再轉成 %HH。完整 URL 模式保留 : / ? # 等結構字符;參數模式會編碼它們。JavaScript 的 encodeURIComponent 仍保留 ! ' ( ) *,因此不能直接視為嚴格的 RFC 3986 簽名規範化實現。

關於此工具

對 URL 參數值或完整地址進行百分號編碼與解碼。分別提供 encodeURIComponent 與 encodeURI 模式,便於處理中文、空格、加號、斜槓以及回調地址中的嵌套參數。

適用場景

  • 把帶空格 / 中文 / 特殊字元的查詢參數拼進 URL。
  • 排查為什麼伺服器接收到 `%20`、`%25` 亂碼。
  • 在文件裡貼一段 curl / Postman 指令,希望 URL 合法。

操作步驟

  1. 把 URL 或參數值貼進輸入框。
  2. 選擇編碼粒度:encodeURIComponent 或 encodeURI。
  3. 點擊“編碼”或“解碼”,結果可一鍵複製。

輸入 / 輸出說明

輸入
任意 UTF-8 字串;解碼時需為合法 percent-encoded 序列。
輸出
percent-encoded 字串或解碼後的原文。

注意事項

encodeURIComponent 最保險,多數場景(查詢值、路徑片段)都用它。

常見問題

中文 URL 參數應該怎樣進行百分號編碼?
中文URL參數應使用參數值編碼,讓UTF-8字節轉換為百分號序列。每個字節用百分號加2位十六進制表示,常見漢字佔3字節;只編碼參數值,避免把整個地址的結構字符一起轉義。
URL 解碼為甚麼不會把加號變成空格?
普通URL解碼中的加號不會自動變成空格,空格通常寫作%20。表單編碼才約定用加號表示空格,字面加號可寫成%2B;處理接口參數時,應先確認發送方採用的是哪一種編碼規則。
URL 重復編碼為甚麼出現%25?
URL重復編碼會把已有百分號再次編碼為%25,因此結果不能只解碼一次就還原。比如%20重復編碼後成為%2520;應依據真實編碼層數逐層處理,避免誤改原文中有意保留的百分號。

相關工具

URL 編解碼 · 對 URL 或查詢參數做 percent-encoding 與解碼
URL 編解碼 — 工具示意圖 · dayeku.com