無需上傳, 100% 本機處理, 無需帳戶

URL 編碼器/解碼器

對 URL 中的特殊字元進行編碼,或解碼百分比編碼字串。所有處理均在瀏覽器中進行。

URL 編碼器/解碼器 的運作方式

URL 編碼器/解碼器將字串轉換為百分比編碼(也稱為 URL 編碼)及其反轉換,這是 RFC 3986 要求在 URL 中安全包含特殊字元的格式。貼上一個原始字串以編碼,或貼上一個百分比編碼字串以解碼回人類可讀的形式。轉換完全在瀏覽器中使用 JavaScript 的 encodeURIComponent 和 decodeURIComponent 執行;你輸入的任何內容都不會離開你的裝置。

當你以程式方式構建查詢參數、重定向 URI 或標準連結時,URL 編碼至關重要。空格變成 %20,& 符號變成 %26,井字號變成 %23,依此類推。編碼也適用於國際化網域名稱和路徑段中的非 ASCII 字元。這個工具還提供 encodeURI 模式,用於在保留「/」、「?」和「#」等結構字元的同時對完整 URI 進行編碼。

URL 編碼器/解碼器 的分步使用說明

  1. 將你想要編碼或解碼的文字貼入輸入區域。
  2. 選擇「編碼」對文字進行百分比編碼,或「解碼」以反轉編碼。
  3. 選擇 encodeURIComponent 模式用於查詢參數值,或 encodeURI 模式用於完整 URI。
  4. 從輸出區域複製結果。

常見使用情境

  • 構建搜尋重定向 URL 的開發者需要對查詢字串進行百分比編碼,以防止特殊字元破壞 URL 結構。
  • API 整合商在 Webhook 負載中收到百分比編碼的回呼 URL,需要解碼它以驗證目標地址。
  • 內容編輯從瀏覽器複製了一個包含重音字元的 URL,需要對其進行編碼以用於 Markdown 連結。
  • QA 工程師在提交輸入驗證端點前,先對「<」、「>」和「&」等邊界字元進行編碼以進行測試。

常見問題

encodeURIComponent 和 encodeURI 有什麼區別?

encodeURIComponent 編碼除字母、數字和字元 - _ . ! ~ * ' ( ) 以外的所有內容。它用於編碼各個元件,例如查詢參數值。encodeURI 保留 URI 結構字元(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)不編碼,因為它假設輸入是完整的 URI。對值使用 encodeURIComponent,對整個 URL 使用 encodeURI。

我在這裡貼上的文字會傳輸到任何伺服器嗎?

不會。編碼和解碼呼叫 JavaScript 的內建 encodeURIComponent 和 decodeURIComponent 函式,完全在瀏覽器的 JavaScript 引擎中執行。你在這裡輸入的任何內容都不會被傳送到任何地方。

為什麼空格有時會變成「+」而不是「%20」?

空格的「+」表示法來自 HTML 表單提交中使用的舊版 application/x-www-form-urlencoded 格式,它與 RFC 3986 百分比編碼不同。這個工具使用嚴格的 RFC 3986 百分比編碼,所以空格變成 %20。如果你的目標系統希望用「+」表示空格,你需要在編碼後手動將 %20 替換為「+」。

我可以一次編碼包含其查詢字串的完整 URL 嗎?

可以,使用 encodeURI 模式。該模式在編碼出現在段或參數值中的非 ASCII 和保留字元時,保留「/」、「?」、「=」、「&」、「#」和其他 URL 結構字元。encodeURIComponent 僅用於個別參數值,而不是完整 URL。

這個工具支援 Unicode 字元和表情符號嗎?

支援。JavaScript 的 encodeURIComponent 先將字元轉換為 UTF-8 位元組序列,再對每個位元組進行百分比編碼。例如「大拇指」表情符號編碼為多位元組序列,如 %F0%9F%91%8D。解碼正確地反轉這個過程。