URL 百分號編解碼
使用百分號編碼對 URL 中的特殊字元進行編碼或解碼。建構查詢字串、API 請求和安全連結的必備工具。
此轉換僅在您的瀏覽器中執行,不會上傳任何內容。
空白會變成 %20(不是 +)。預設是查詢值用的元件模式;完整 URI 會保留保留字元。
- 輸入0
- 輸出0
- 選項元件 (encodeURIComponent)
輸入
輸出
這個工具是什麼?
對 URL 文字做百分號編解碼,讓空白、Unicode 與保留字元能安全出現在查詢、路徑、重新導向參數與 API 呼叫中。
元件(encodeURIComponent,預設)用於單一值;完整 URI(encodeURI)保留 :, /, ?, &。輸入即更新,僅在瀏覽器中執行。
百分號編碼不是加密。
常見用途
- 編碼含空白、
&或=的查詢參數值 - 準備或檢查放進
?redirect=的巢狀 URL - 把百分號編碼的日誌或 API 錯誤還原為可讀文字
如何使用
- 選擇 Encode 或 Decode;輸入時結果即時更新。
- 查詢/路徑值保持關閉完整 URI(元件模式);僅在處理整段 URL 時開啟。
- 貼上文字或編碼字串。用 Sample 對比兩種模式。
- 複製結果。解碼失敗時檢查
%ZZ、單獨的%或截斷的 UTF-8。
encodeURI vs encodeURIComponent
| 輸入 | 元件 (encodeURIComponent) | 完整 URI (encodeURI) |
|---|---|---|
a b&c=1 | a%20b%26c%3D1 | a%20b&c=1 |
https://ex.com/a?b=1 | https%3A%2F%2Fex.com%2Fa%3Fb%3D1 | https://ex.com/a?b=1 |
a+b=c | a%2Bb%3Dc | a+b=c |
把值放進查詢或路徑時用元件;輸入已是完整 URL 且需保留分隔符時用完整 URI。
範例
| 輸入 / 設定 | 輸出 | 說明 |
|---|---|---|
hello world → 元件編碼 | hello%20world | 空白 → %20 |
a b&c=1 → 元件 | a%20b%26c%3D1 | 為單一值編碼 & 與 = |
a b&c=1 → 完整 URI | a%20b&c=1 | 保留保留標點,空白仍為 %20 |
hello+world → 元件解碼 | hello+world | 此處 + 是字面量,不是表單空白 |
實務上常見陷阱
- 用元件模式編碼整段重新導向 URL 會把
/、?變成%2F/%3F。 application/x-www-form-urlencoded把+當空白;decodeURIComponent不會。URL 元件請用%20。- 編碼不是存取控制——查詢裡的秘密仍可能出現在日誌與 Referer 中。
參考資料
最後審閱: 2026-07-26
常見問題
- 元件模式與完整 URI 模式差在哪?
- 元件模式使用 encodeURIComponent,會編碼 &, =, ?, / 等保留字元。完整 URI 模式使用 encodeURI,保留這些分隔符, 只跳脫不安全字元。
- 為什麼空白是 %20 而不是 +?
- 本工具遵循百分號編碼(encodeURIComponent)。用 + 表示空白是 application/x-www-form-urlencoded 表單規則。 字面量 + 在元件模式下會變成 %2B。
- 解碼失敗常見原因是什麼?
- 畸形百分號序列(如 %ZZ)、單獨的 %,或不完整的 UTF-8 位元組。請檢查跳脫或貼上完整編碼值。
- 資料會上傳到伺服器嗎?
- 不會。編解碼僅在瀏覽器中執行。