URL 編碼 / 解碼工具

關於此工具

將無法直接出現在 URL 中的字元(全形、空白、符號)進行 URL 編碼/解碼。可切換 encodeURIComponent(適用於片段)與 encodeURI(適用於整體 URL)。也支援「將空白轉成 +」。所有處理皆在瀏覽器內完成(不會傳送任何資料)。

URL 編碼 / 解碼

→ 會將查詢值、路徑片段等「URL 片段」完整編碼
→ 針對已成形的 整體 URL,僅進行維持結構所需的最小編碼

模式差異(詳解)
  • encodeURIComponent 適合用在 URL 的片段(例如查詢值、單一路徑段、片段值等)。除了 -_.!~*'() 之外幾乎全部都會編碼(: / ? # & = 等符號也會轉換)。
  • encodeURI 用於整個 URL,會保留 :/?#&=,+;$ 等在 URL 語法中有意義的符號,因此協定與路徑分隔不會被破壞。
  • 需要表單相容時請開啟「將空白轉成 +」(解碼時會把 + 視為空白處理)。
// 範例:編碼 "a/b?x=1 2"
encodeURIComponent("a/b?x=1 2")
// → "a%2Fb%3Fx%3D1%202"

encodeURI("https://ex.com/a/b?x=1 2")
// → "https://ex.com/a/b?x=1%202"   (:/?= 保留,只有空白變成 %20)

補充與注意事項

  • encodeURIComponent 用於「片段」,encodeURI 則用於「整體 URL」。
  • + 有時會被當成表單相容的空白(本工具在解碼時會正規化成空白)。
  • 轉換後的長度可能會大幅變動(源於 UTF-8 多位元字元)。