URL 編碼 & 解碼工具
即時編碼或解碼 URL 及 URL 元件。支援元件模式和完整 URL 模式切換。所有處理在瀏覽器完成。
什麼是 URL 編碼?
URL 編碼是一種將 URL 中不允許的字元轉換為可以安全傳輸的格式的機制。它用百分號加上兩個代表字元位元組值的十六進位數字來替換不安全的字元。例如,空格變為 %20,& 符號變為 %26。
這個免費的線上工具在你輸入時即時編碼和解碼 URL。它支援兩種模式:元件模式用於編碼單個 URL 參數,完整 URL 模式用於編碼完整 URL 同時保留結構字元如 :、/、?、#。所有處理完全在你的瀏覽器中執行——資料永遠不會被傳送到伺服器。
核心功能
- 即時編碼和解碼——輸入時輸出即時更新
- 元件模式——編碼所有特殊字元包括 :、/、?、#、& 和 =
- 完整 URL 模式——編碼特殊字元同時保留 URL 結構字元
- 交換按鈕,快速反轉操作並將輸出作為新輸入
- 檔案上傳支援,可編碼或解碼文字檔案
- 一鍵下載和複製到剪貼簿
- 全螢幕模式,適合處理長 URL
- 完整 UTF-8 支援——正確編碼多位元組字元包括表情符號和國際文字
- 100% 用戶端處理——你的 URL 和資料永遠不離開瀏覽器
- 簡潔響應式介面,在桌機和手機上均可使用
如何使用此工具
- 選擇模式:編碼或解碼。
- 在左側面板輸入或貼上內容,結果即時顯示在右側面板。
- 選擇元件模式編碼所有內容,或選擇完整 URL 模式保留 URL 結構。
- 使用交換按鈕反轉操作——非常適合檢查編碼/解碼的往返結果。
- 點選複製將結果複製到剪貼簿,或點選下載儲存為檔案。
為什麼 URL 編碼很重要
URL 只能包含有限的 ASCII 字元集。空格、& 符號、問號等特殊字元以及非 ASCII 字元必須進行百分號編碼才能在 URL 中正確傳輸。沒有正確編碼,URL 會出錯——瀏覽器會誤解結構,伺服器會拒絕請求,或資料在傳輸過程中被損壞。
元件編碼和完整 URL 編碼之間的區別至關重要。在建構查詢參數時,你必須使用元件編碼單獨編碼每個參數值。如果使用完整 URL 編碼,& 和 = 等字元會被保留,從而破壞查詢字串結構。反之,在編碼整個 URL 時,完整 URL 模式會保留定義 URL 方案、主機、路徑和查詢的結構字元。
常見使用情境
- 建構 API 查詢字串——正確編碼包含特殊字元或空格的參數值
- 除錯格式錯誤的 URL——解碼百分號編碼的 URL 以讀取原始文字並識別問題
- 表單資料處理——編碼使用者輸入以安全地包含在 URL 查詢參數中
- 重新導向 URL——編碼在 OAuth 和認證流程中作為參數傳遞的回呼 URL
- 國際化——編碼包含非 ASCII 字元的 URL,如重音字母或中日韓文字
- 網頁爬蟲——解碼擷取的 URL 以獲取原始位址
- 深層連結——為行動應用程式和單頁應用建構正確編碼的深層連結
理解百分號編碼
在百分號編碼中,字元的每個位元組表示為 %XX,其中 XX 是兩位十六進位值。ASCII 字元如 A-Z、a-z、0-9 以及一些特殊字元被視為非保留字元,不需要編碼。所有其他字元必須編碼。
對於 UTF-8 多位元組字元,每個位元組分別編碼。例如,漢字「中」編碼為 %E4%B8%AD。這就是為什麼 URL 編碼會顯著增加包含非 ASCII 文字的字串長度。JavaScript 中的 encodeURIComponent 函數自動處理這個過程,先將字串轉換為 UTF-8 位元組,然後對每個位元組進行百分號編碼。
URL 編碼技巧
- 始終對單個查詢參數值使用 encodeURIComponent——永遠不要用它編碼整個 URL
- 僅在需要編碼完整 URL 同時保留其結構時使用 encodeURI
- 雙重編碼是常見錯誤——對已編碼的字串再次編碼會將 %20 變成 %2520
- 除錯時,先解碼 URL 查看實際值,然後根據需要重新編碼
- 空格可以編碼為 %20 或 +——%20 是標準做法,但 + 在表單提交中很常見
- 請記住 JavaScript 的 decodeURI 和 decodeURIComponent 對格式錯誤的輸入會拋出錯誤——本工具會優雅地處理這些錯誤
