URL 編碼器 / 解碼器
在瀏覽器中即時編碼和解碼URL及URI元件。免費、私密,無需上傳。
在瀏覽器中即時編碼和解碼URL及URI元件。免費、私密,無需上傳。
URL 編碼(正式的百分比編碼,在 RFC 3986 中定義)將 URL 中具有特殊含義的字元(空格、斜線、與號、井號)轉換為使用百分號後跟十六進位數字的安全形式。空格字元變成 %20(或在表單編碼上下文中為 +),& 符號變為 %26,依此類推。如果沒有這種編碼,特殊字元將被解釋為 URL 語法而不是文字數據,從而破壞 URL 或導致意外行為。
存在兩種相關但不同的編碼。標準 URL 元件編碼對非保留字元集之外的所有內容使用 % 轉義:A-Z、a-z、0-9、連字符、底線、句點、波形符。表單編碼變體 (application/x-www-form-urlencoded) 另外將空格視為加號,並對其他一些字元使用不同的規則。 JavaScript的encodeURIComponent 使用嚴格的元件編碼; encodeURI 使用更寬鬆的形式來保留 URL 結構字元。
該工具提供編碼和解碼。編碼模式將每個需要轉義的字元以%HH格式包裝起來;解碼模式反轉轉換。兩者都使用內建 JavaScript URL 函數完全在瀏覽器中運行,因此不會將資料傳送到任何地方。
任何時候 URL 中包含資料——查詢字串參數、包含使用者輸入的路徑段、重定向目標——都需要正確的編碼。編碼失敗會產生在出現特殊字元時中斷的 URL,洩漏參數邊界到查詢字串(將 &x=1 變成單獨的參數),或作為格式錯誤的請求被 Web 伺服器阻止。
解碼則相反:從編碼的 URL 中提取原始資料。瀏覽器網址列通常以編碼形式顯示 URL;解碼揭示了實際意圖。日誌記錄、偵錯和安全分析都受益於顯示原始參數和路徑的解碼 URL。
貼上字串,選擇方向。
encodeURIComponent 對未保留集 [A-Za-z0-9-_.~] 以外的每個字元進行編碼。空格變成 %20,加號變成 %2B,等號變成 %3D,依此類推。 ASCII 以外的字元首先以 UTF-8 進行編碼,然後對每個位元組進行 % 轉義。
encodeURI 更寬鬆,適用於完整 URL 而不是元件。它不會轉義 /、?、&、=、# 和其他一些字符,因為這些字符具有 URL 語法含義。對於在 URL 中嵌入用戶數據,encodeURIComponent 幾乎總是正確的選擇。
decodeURIComponent 反轉 %-轉義符,驗證每個轉義符格式正確,且結果位元組形成有效的 UTF-8。格式錯誤的輸入會引發錯誤,而不是產生垃圾。