URL 編碼 / 解碼工具

在不破壞原始請求結構的情況下,對完整 URL 進行編碼、解碼回撥連結,並轉義查詢引數值。

URL 編碼 / 解碼工作臺
工作流提示 選擇編碼或解碼,以檢查 URL、回撥連結或查詢值。
試試一個真實的 URL 編碼工作流
什麼是 URL 編碼?

URL 編碼(也稱百分號編碼)會把空格、Unicode 和保留字元轉換為適合傳輸的安全格式。當瀏覽器 URL、redirect_uri、API 查詢值或複製來的回撥連結需要在傳輸過程中保持原意時,就該使用它。

URL 編碼的工作原理

如果你想在一條完整連結中繼續清晰保留 :, /, ?, &, = 這樣的分隔符,請使用完整 URL 編碼。如果某個值必須放進查詢引數、重定向目標或巢狀回撥 URL 中,請使用元件編碼。

常見使用場景
  • 在認證或 API 請求離開你的應用之前,對 redirect_uri、state 和搜尋值進行編碼
  • 解碼從日誌、支援工單或瀏覽器歷史中複製的回撥連結
  • 在不破壞基礎端點分隔符的情況下構建 API 請求 URL
  • 在單個查詢值中轉義郵箱地址、巢狀 URL 和加號
  • 在把 URL 貼上到文件或程式碼前檢查 Unicode 和空格
示例
輸入: redirect_uri=https://app.example.com/callback?next=/settings
輸出: redirect_uri=https%3A%2F%2Fapp.example.com%2Fcallback%3Fnext%3D%2Fsettings
輸入: https://app.example.com/callback?next=%2Fsettings%3Ftab%3Dprofile
輸出: https://app.example.com/callback?next=/settings?tab=profile
輸出: email=dev%2Balerts%40example.com
常見問題

什麼時候應該編碼完整 URL,而不是單個引數值?

如果你希望整條連結仍然可讀,並保留 ?, &, = 這樣的分隔符,就應該編碼完整 URL。如果資料必須放進單個 key=value 對中,例如 redirect_uri、state 或搜尋詞,就只編碼該引數值。

encodeURI 和 encodeURIComponent 之間有什麼區別?

encodeURI 會為完整連結保留 :, /, ?, # 等 URL 結構字元。encodeURIComponent 也會轉義這些保留字元,因此它更適合查詢引數值、巢狀 URL 和複製來的回撥目標。