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 合法。
操作步驟
- 把 URL 或參數值貼進輸入框。
- 選擇編碼粒度:encodeURIComponent 或 encodeURI。
- 點擊“編碼”或“解碼”,結果可一鍵複製。
輸入 / 輸出說明
- 輸入
- 任意 UTF-8 字串;解碼時需為合法 percent-encoded 序列。
- 輸出
- percent-encoded 字串或解碼後的原文。
注意事項
encodeURIComponent 最保險,多數場景(查詢值、路徑片段)都用它。
常見問題
- 中文 URL 參數應該怎樣進行百分號編碼?
- 中文URL參數應使用參數值編碼,讓UTF-8字節轉換為百分號序列。每個字節用百分號加2位十六進制表示,常見漢字佔3字節;只編碼參數值,避免把整個地址的結構字符一起轉義。
- URL 解碼為甚麼不會把加號變成空格?
- 普通URL解碼中的加號不會自動變成空格,空格通常寫作%20。表單編碼才約定用加號表示空格,字面加號可寫成%2B;處理接口參數時,應先確認發送方採用的是哪一種編碼規則。
- URL 重復編碼為甚麼出現%25?
- URL重復編碼會把已有百分號再次編碼為%25,因此結果不能只解碼一次就還原。比如%20重復編碼後成為%2520;應依據真實編碼層數逐層處理,避免誤改原文中有意保留的百分號。
相關工具