QQuickKit

URL 編解碼

URL 特殊字元編碼與解碼

關於此工具

網址裡只能出現特定的 ASCII 字元,空格、中文、特殊符號直接放進去很多環境會解析錯誤。URL 編碼把這些字元轉成 %XX 格式,開發時最常在兩個場合用到:組 query string 參數,以及 debug 某個 API 請求為什麼解析不如預期。

功能特色

  • 中文網址直接貼 — 中文、日文、韓文及各種特殊符號都能正確處理,用的是和瀏覽器一樣的 encodeURIComponent 標準。
  • 編碼和解碼都支援 — 把原始字串轉成 URL 安全格式,或把 %E5%8F%B0%E7%81%A3 還原成看得懂的中文,切換一下就好。
  • 格式錯誤不會靜默失敗 — 遇到不合法的 % 序列(像 %ZZ 或截斷的 %)會直接報錯,不會輸出錯誤結果。
  • 複製到哪都行 — 結果一鍵複製,直接貼進 Postman、程式碼或瀏覽器網址列。
  • 不傳送任何資料 — 所有處理在瀏覽器本地完成,URL 內容和查詢參數不會送到任何伺服器。

常見問題

URL 編碼和 HTML Entity 有什麼不同?
URL 編碼(%20、%E5…)讓字元在網址裡安全傳遞;HTML Entity(<、&…)讓特殊字元在 HTML 裡正確顯示。兩個用在完全不同的地方,不能互換。
空格要用 %20 還是 +?
URL 路徑裡用 %20。查詢字串歷史上有個 + 的用法(表單提交的規範),但現代建議統一用 %20。這個工具用 encodeURIComponent,空格一律輸出 %20。
為什麼中文網址需要編碼?
瀏覽器網址列顯示中文是為了你看得懂,實際送出請求前早就偷偷換成 %XX 了。「台灣」在 UTF-8 URL 編碼後是 %E5%8F%B0%E7%81%A3,這才是實際傳出去的格式。
哪些字元不需要編碼?
英文字母(A–Z、a–z)、數字(0–9),加上連字號 -、底線 _、句點 .、波浪號 ~ 這四個符號不需要編碼,其他字元原則上都應該編碼,尤其是 & # ? = 這些在 URL 裡有特殊意義的符號。

延伸閱讀