選擇語言

URL 解碼工具:還原百分比編碼文字與查詢字串

即時解碼 URL 百分比編碼(如 %20、%3D),支援 UTF-8 多位元組序列,並可選擇將 + 視為空白。

Mehmet Demiray 發佈日期 更新日期
分享
元件會編碼保留字元,完整模式則保留 URL 結構

為何網址中會出現 %20 和 %3D?

當您在瀏覽器中輸入包含空格或特殊符號的網址時,系統會自動將這些字元轉換為「百分號編碼」(percent-encoding)格式,這是依據 RFC 3986 標準所定義的規範。例如,空格會被轉為 %20,等號 = 則變成 %3D。這種編碼機制確保網址能在不同系統與協定間正確傳輸,避免因特殊符號引發解析錯誤。常見於搜尋關鍵字、表單提交或追蹤參數(如 UTM)中。舉例來說,若您在 Google 搜尋「台北 101 門票」,實際送出的網址可能包含 q=%E5%8F%B0%E5%8C%97+101+%E9%96%80%E7%A5%A8,其中中文部分以 UTF-8 編碼後再進行百分號轉換。此時,使用 URL 解碼工具 即可還原原始文字,方便您快速理解參數內容。若需反向操作,亦可參考 URL 編碼工具

URL 解碼的基本原理

URL 解碼的核心在於將形如 %XX 的十六進位序列還原為對應的位元組,再依 UTF-8 規則重組成可讀文字。每一個 % 後接兩個十六進位數字(如 %E5%8F%B0),代表一個或多個位元組。以繁體中文為例,「台」字的 UTF-8 編碼為 [0xE5, 0x8F, 0xB0],經百分號編碼後即為 %E5%8F%B0。解碼時,工具會先拆解這些十六進位對,再依序合併為 UTF-8 字串。此過程嚴格遵循 RFC 3986,能正確處理多字節字元,包括中文、日文、表情符號等。若輸入字串包含無效序列(如 %ZZ),URL 解碼工具 會明確提示錯誤,而非靜默忽略或產生亂碼。這對於分析伺服器日誌或除錯第三方追蹤碼至關重要。若需處理其他編碼格式,可搭配 Base64 解碼 工具使用。

加號(+)到底代表空格還是字元?

在 URL 中,加號 + 的意義具有歧義:在 application/x-www-form-urlencoded 表單編碼中,+ 代表空格;但在一般路徑或查詢字串中,+ 可能就是字面上的加號。例如,Google Analytics 的 UTM 參數通常使用表單編碼,因此 utm_term=台北+101 實際意指「台北 101」。然而,若某 API 直接將使用者輸入的「+886」電話號碼放入網址,則 + 應保留原意。URL 解碼工具 提供「將 + 解碼為空格」的選項,讓您根據來源情境手動切換。建議在處理表單提交、廣告追蹤連結或舊式 CGI 腳本時啟用此選項;若分析現代 RESTful API 或純查詢字串,則應關閉以保留原始 + 字元。正確判斷來源編碼方式,是避免資料誤解的關鍵步驟。

實務應用:除錯重導向與分析日誌

行銷人員與開發者經常需要解讀經過編碼的網址,特別是在審查 UTM 追蹤參數、診斷重導向鏈或分析 Web 伺服器日誌時。例如,某電商網站的日誌中出現 /search?q=%E6%99%BA%E8%83%BD%E6%89%8B%E6%A9%9F&ref=%E9%9B%BB%E5%AD%90%E9%83%B5%E4%BB%B6,若不解碼,難以辨識使用者搜尋的是「智慧手機」且來源為「電子郵件」。透過 URL 解碼工具,可快速還原參數內容,確認追蹤是否正確設定。此外,在除錯 OAuth 重導向流程時,redirect_uri 參數常被雙重編碼,導致驗證失敗。此時逐層解碼有助釐清問題根源。對於大量日誌分析,建議先篩選出含 % 的行,再批次處理。若涉及 JWT token 解析,亦可結合 JWT 解碼器 交叉比對。

如何正確解碼完整查詢字串?

完整的 URL 查詢字串(query string)通常包含多個以 & 分隔的鍵值對,例如 ?name=%E7%8E%8B%E5%A4%A7%E5%BF%97&city=%E9%AB%98%E9%9B%84&age=35。要正確解碼,應將整個查詢字串(不含 ?)貼入 URL 解碼工具,而非僅處理單一值。工具會自動識別所有 %XX 序列並還原為原始文字,輸出如 name=王大志&city=高雄&age=35。注意:解碼後的結果仍保留 &= 等分隔符,因其在查詢字串中屬合法字元,不需編碼。若發現某些值仍含 %,可能是雙重編碼所致,可再次解碼確認。另外,若來源為 HTML 表單且啟用了「+ 轉空格」選項,name=%E7%8E%8B+大志 將正確顯示為 name=王 大志。此技巧廣泛應用於 SEO 優化與轉換率分析,確保參數語意清晰無誤。

遇到無效編碼如 %ZZ 時該怎麼辦?

當輸入包含無效百分號序列(如 %ZZ%G1 或孤單的 %)時,URL 解碼工具 不會嘗試猜測或跳過,而是明確標示錯誤位置並拒絕輸出部分結果。這是因為 RFC 3986 規定 % 後必須緊接兩個有效的十六進位數字(0–9、A–F、a–f)。無效序列通常源於資料截斷、編碼錯誤或人為輸入失誤。例如,從 Excel 匯出的連結若未正確處理特殊字元,可能產生 %E5%8F%B(缺少最後一位)。面對此類情況,建議先檢查原始來源是否完整,或確認是否混用不同編碼標準(如將 HTML 實體 & 誤當作 URL 編碼)。工具提供的清晰錯誤訊息能大幅縮短除錯時間。若需進一步分析結構化資料,可考慮搭配 Base64 解碼JWT 解碼器 進行交叉驗證。

最常被問到的問題

為什麼網址裡會出現 %20、%3D 這類符號?

這是因為 URL 只允許使用特定字元,其他字元(如空格、等號、中文)必須轉換成「百分比編碼」(percent-encoding)格式。例如空格會變成 %20,等號變成 %3D。這種編碼方式遵循 RFC 3986 標準,確保網址在傳輸時不會出錯。

如何用 URL 解碼工具解碼一整段查詢字串(query string)?

只要將完整的查詢字串(例如 utm_source=newsletter&utm_medium=email)貼到輸入框,URL 解碼工具會自動識別並還原所有百分比編碼的部分。若其中包含 + 號且來自 HTML 表單,記得勾選「將 + 解讀為空格」選項,以符合 application/x-www-form-urlencoded 的慣例。

什麼情況下應該啟用「將 + 解讀為空格」的功能?

當你處理的是 HTML 表單提交後產生的 URL(例如搜尋結果或登入請求),+ 通常代表空格。但若來源是純粹的 URL 編碼(如直接複製自瀏覽器網址列),+ 就是字面意義的加號。不確定時可先關閉此選項;若解碼結果出現多餘的 +,再嘗試開啟重試。

如果輸入像 %ZZ 這種無效編碼,URL 解碼工具會怎麼處理?

工具會顯示明確錯誤訊息,指出無效的十六進位序列位置,不會靜默跳過或產出亂碼。這是為了避免誤解資料內容,特別是在分析伺服器日誌或除錯追蹤參數時,確保你察覺原始資料可能已損毀或遭竄改。

這個工具能正確處理中文或其他 Unicode 字元嗎?

可以。URL 解碼工具會將連續的百分比編碼(如 %E4%BD%A0%E5%A5%BD)依 UTF-8 規則重新組合成正確的 Unicode 字元,因此繁體中文、日文、表情符號等都能正確還原。這對分析含 UTM 參數的行銷連結或跨語言網站日誌尤其重要。

URL 解碼和 Base64 解碼有什麼不同?該用哪一個?

兩者用途完全不同:URL 解碼用於還原網址中的百分比編碼(如 %E7%AF%84%E4%BE%8B),而 Base64 解碼是將 Base64 字串轉回原始二進位或文字資料。如果你看到的是 % 開頭的編碼,請用 URL 解碼;若是長串英數字混雜(如 dGVzdA==),則應使用 Base64 解碼