跳到主要內容

URL 編碼與解碼

將網址、查詢值和表單資料進行百分比編碼或解碼,支援 UTF-8,並會逐一解碼每個查詢參數;全程在瀏覽器中執行。

你要編碼什麼?

encodeURIComponent:除了字母、數字和 - _ . ! ~ * ' ( ) 之外,全部跳脫。適用於單一參數值。

百分比編碼
輸入時,結果會顯示在這裡。
在瀏覽器中執行・不需上傳運作方式

URL 編碼/解碼 使用方法

  1. 1

    選擇編碼或解碼

    「編碼」會把空格和特殊字元轉成 %XX;「解碼」會把 %XX 還原成可讀的文字。

  2. 2

    選擇編碼的對象

    單一參數選查詢值,完整網址選完整 URL,需要把空格變成 + 時選表單資料。

  3. 3

    貼上文字或連結

    結果會隨著輸入即時更新,貼上完整 URL 時還會顯示各部分與參數的分析。

  4. 4

    複製結果

    你可以複製結果、儲存成檔案,或用「將輸出作為輸入」換回輸入欄,檢查來回轉換是否一致。

限制與 Pro

免費使用,不需註冊,貼上的文字沒有長度限制;超過 600,000 個字元的輸出只會顯示一部分,但複製或儲存時會是完整內容。

Pro 可移除廣告;各方案的轉換功能完全相同。 查看 Pro

關於 URL 編碼/解碼

URL 只能包含一小部分 ASCII 字元,因此其他內容,例如空格、重音符號、表情符號,以及被當成資料使用的保留符號,都必須將每個 UTF-8 位元組寫成 % 加上兩位十六進位數字。這個頁面可以雙向轉換,並清楚顯示哪些地方改變了。

三種模式對應編碼實際發生的三種情境。查詢值模式的行為類似 JavaScript 的 encodeURIComponent,適合用在單一參數、路徑片段,或嵌入另一個 URL 的重新導向目標。完整 URL 模式的行為類似 encodeURI:協定、斜線、問號、&、= 都會保留,只會跳脫會破壞網址的字元。表單資料模式遵循 application/x-www-form-urlencoded,空格會變成加號,與 HTML 表單和 URLSearchParams 相同。

貼上完整連結後,分析面板會列出協定、主機、連接埠、路徑和片段,並以表格顯示每個查詢參數及其解碼後的值,方便閱讀追蹤連結、OAuth 回呼和簽章 URL。解碼遇到格式錯誤的內容時會停止並指出位置,例如單獨的 % 後面沒有兩位十六進位數字,或位元組序列不是有效的 UTF-8,這通常表示文字是由舊系統以 Latin-1 編碼。

百分比編碼不是加密,也不會縮短網址;要縮短請使用短網址工具。Base64 和 HTML 實體轉換在另外兩個分頁中。

隱私

URL 和文字都在本頁內編碼與解碼,因此含有權杖、電子郵件地址或工作階段 ID 的連結不會傳送到任何地方。所選的模式會儲存在本機儲存空間,下次使用時沿用;你貼上的內容則不會儲存。

URL 編碼/解碼:常見問題

該用 encodeURI 還是 encodeURIComponent?
要放進 URL 的內容,例如搜尋字詞、參數值或巢狀的重新導向 URL,請用 encodeURIComponent,也就是這裡的查詢值模式,它會跳脫 & = ? /,避免被當成結構。encodeURI 即完整 URL 模式,只適合結構已正確、只需處理空格或非 ASCII 字元的完整網址。
為什麼空格有時是 %20,有時是 +?
URL 定義的百分比編碼會把空格寫成 %20。HTML 表單使用較舊的 application/x-www-form-urlencoded 格式,空格會變成 +,原本的加號則變成 %2B。兩種在查詢字串中都很常見。解碼表單送出的值時請選表單資料模式,否則 + 會保留為加號。
解碼時出現「不是有效的 UTF-8」是什麼意思?
現代 URL 會把每個字元編成 UTF-8 位元組,例如 é 是 %C3%A9。有些舊系統使用 Latin-1,é 只是單一位元組 %E9,這種序列不是有效的 UTF-8。錯誤訊息會顯示位置。請將來源重新以 UTF-8 編碼,若只有少數字元受影響,也可以手動替換。
可以看到很長的追蹤連結裡有哪些參數嗎?
可以。貼上含 https:// 開頭的完整連結,結果下方就會出現分析面板。面板會列出主機、路徑和片段,並顯示每個查詢參數解碼後的值,包含重複的鍵,所以 UTM 標籤、OAuth state 值和巢狀的重新導向 URL 都能直接閱讀,不必逐一解碼。
URL 編碼兩次會有問題嗎?
會,重複編碼是常見的錯誤:第一次產生的 % 會變成 %25,所以 %20 會變成 %2520,伺服器就會收到錯誤的值。如果解碼一次後仍留有 %XX,代表文字被編碼了兩次。按「將輸出作為輸入」再解碼一次,就能還原原始內容。

此工具的其他用途