網址解碼
在瀏覽器裡解碼百分號編碼的網址與查詢字串,遇到格式錯誤的序列會明確告訴你是哪一段。
在你的瀏覽器中執行
還沒有東西可以編碼。
解碼才看得出一個連結真正在做什麼
百分號編碼會把結構藏起來。追蹤連結、OAuth 轉址、或是 ?next= 參數,通常都是網址裡包著網址、
再包著網址,唯一能讀懂它的方法就是解碼——而且常常要解不只一次。
如果解出來的結果裡還有 %25,那是一個被編碼過的 %,表示這段文字被編碼了兩次。再解一次。
+ 的問題
application/x-www-form-urlencoded——也就是 HTML 表單送出的格式——用 + 表示空白,而不是
%20。在其他所有地方,+ 就是一個真正的加號。
字串本身不會告訴你手上的是哪一種,所以這裡有一個開關:
- 解碼來自表單的查詢字串時,打開它。
- 解碼路徑,或任何含有電子郵件位址、base64 值的內容時,關掉它。base64 會把
+當成真正 的字元,把它們變成空白會不聲不響地毀掉資料。
解不開的時候
百分號後面必須剛好接兩個十六進位數字。50% off 不是合法的百分號編碼,被換行截斷的序列也不是。
這裡不會只丟一句「URI malformed」,而是把出問題的那一段escape指出來——通常一眼就能看出文字被
截斷了,或是某個原本就該被編碼的 % 從頭到尾沒被處理。
即使每一段escape各自合法,整組合起來仍可能拼不出合法的 UTF-8。那通常表示原文是用其他字元集 編碼的,而從這個片段裡救不回任何東西。
沒有任何上傳
在這個頁面裡、在你的機器上解碼。編碼過的網址經常帶著工作階段權杖和簽章參數,把它貼進遠端的 解碼服務等於把那些一起交出去。