URL 解碼

在下方貼上百分比編碼的URL字串並點擊解碼將其轉換為可讀文字。所有處理均在瀏覽器中本地完成。

已複製!

什麼是 URL 解碼?

URL 解碼(百分比解碼)將百分比編碼的字元轉換回其原始形式。例如,%20 變為空格,%26 變為 &

此工具也會將 + 號解碼為空格(常見於表單資料中)。

決定結果的是兩個設定。字元集決定解出來的位元組怎麼變成文字,這對早於 UTF-8 的一切都很關鍵。加號設定決定加號是不是代表空格:對表單資料成立,對路徑不成立,所以放在 URL 裡的 base64 值一旦選錯就會被弄壞。當結果裡仍留有百分號跳脫時,頁面會提示,因為這幾乎總意味著這個值被編碼了兩次。

正在排查一個死活解不開的問題?

解不開的資料包通常是症狀而不是病根:鏈路上某處做了兩次編碼、字元集是被假定而不是被宣告、權杖簽章所涵蓋的位元組和大家以為的並不完全一致。這類活我們在做,圍繞整合、API 以及在它們之間傳遞資料的系統。

說說哪裡出了問題

常見問題

這個工具能解碼什麼?
任何百分號編碼的文字:查詢字串裡的一個值、路徑片段、轉址目標,或者寫進日誌前被跳脫的整條 URL。每個 %XX 會還原成它所指的位元組,這些位元組再按你選的字元集變成文字。
加號為什麼變成了空格?
因為表單資料把空格寫成加號。這條規則只適用於 x-www-form-urlencoded 的請求主體和查詢字串,別處都不適用,所以解碼路徑或加號是真實字元的 base64 值時請關掉它。
雙重編碼的提示是什麼意思?
意思是結果裡還留著百分號跳脫,這通常發生在一個值被編碼之後又被第二個系統編碼了一次。常見的跡象是 %2520:它解出來是 %20,不是空格。再解碼一次就能拿到原始內容。
為什麼解出來是問號或奇怪的字?
這些位元組用一種字元集編碼,卻用另一種字元集解碼。一個 UTF-8 字母按 Windows-1252 讀出來會變成兩個帶重音的字元。請換字元集,直到文字讀起來正常。
可以一次解碼很多個值嗎?
可以。每行貼一個值並開啟逐行選項,每個值就會單獨解碼,輸出也保持同樣的排布。整行日誌直接貼進來同樣可行,因為變的只有百分號跳脫。