如何逐步編碼與解碼 URL
快速解答
要進行 URL 編碼:將文字貼到 URL 編碼器中,百分比編碼的字串會立即出現。解碼:將編碼後的URL貼到URL解碼器中,就會出現原始文字。所有處理均使用encodeURIComponent() 和decodeURIComponent() 在瀏覽器本地進行。
介紹
URL 編碼(也稱為百分比編碼)將 URL 中的特殊字元轉換為可安全地透過 Internet 傳輸的格式。空格、引號和非 ASCII 字母等字元在 URLs 中具有特殊意義,或完全不允許使用。 URL 編碼將它們替換為百分號後面跟著兩個十六進位數字(例如,空格變成 %20)。本指南向您展示如何在瀏覽器中對 URLs 進行編碼和解碼。
步步
-
開啟URL編碼器/解碼器工具
到URL編碼器和解碼器工具頁面。此工具有兩種模式:編碼和解碼。
-
輸入您的文字或URL
在編碼模式下,貼上要編碼的文字或 URL。當使用包含空格、特殊字元或非 ASCII 文字的值建立查詢字串時,這非常有用。
-
讀取編碼輸出
此工具使用encodeURIComponent() 對您的輸入進行編碼。空格變成 %20,& 等特殊字元變成 %26,非 ASCII 字元先進行 UTF-8 編碼,然後再進行百分比編碼。結果立即出現。
-
複製編碼的 URL
點擊“複製”以複製編碼的字串。在 API 請求、HTML href 屬性或 JavaScript fetch() 呼叫中使用它。
-
解碼編碼的 URL
切換到解碼模式並貼上百分比編碼的字串。該工具使用decodeURIComponent()對其進行解碼並顯示原始文字。無效的轉義序列(如 %ZZ)會產生錯誤。
範例
使用空格對查詢字串值進行編碼
輸入: hello world
輸出: hello%20world
使用特殊字元對 URL 進行編碼
輸入: https://example.com/search?q=foo&bar=baz
輸出: https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dfoo%26bar%3Dbaz
對非 ASCII 文字進行編碼
輸入: café
輸出: caf%C3%A9
解碼百分比編碼的 URL
輸入: hello%20world%20%26%20goodbye
輸出: 你好世界&再見
常見問題
- 當只有查詢參數值需要編碼時,對整個 URL 進行編碼 — 編碼值,而不是結構 (://?&=)。
- 雙重編碼 - 如果 URL 已經編碼,再次編碼會產生 %2520 而不是 %20。如果不確定,請先解碼。
- 使用encodeURI() 與encodeURIComponent() —encodeURI() 保留URL 結構字元(:/?&=),encodeURIComponent() 對它們進行編碼。使用後者作為查詢參數值。
- 解碼中的無效轉義序列 —%ZZ 或 %2 不是有效的百分比編碼,將引發錯誤。
提示
- 請務必對可能包含空格、特殊字元或使用者輸入的查詢參數值進行編碼,以防止 URL 注入。
- 對查詢參數值使用encodeURIComponent(),對只需要編碼不安全字元的完整URLs使用encodeURI()。
- URL 編碼不是加密-任何人都可以解碼它。切勿使用它來隱藏敏感資料。
- 使用我們的 URL 編碼器和解碼器工具在瀏覽器中進行即時、私密的處理。