URL 編碼
在下方貼上文字並點擊編碼進行百分比編碼以用於URL。所有處理均在瀏覽器中本地完成。
已複製!
什麼是 URL 編碼?
URL 編碼(百分比編碼)將 URL 中的不安全字元替換為 % 後接兩個十六進位數字。例如,空格變為 %20,& 變為 %26。
標準模式編碼所有特殊字元——當編碼單一值(例如搜尋查詢)時使用。完整 URL 模式保留 URL 結構字元如 :、/、?、#——當編碼整個 URL 時使用。
三種模式的差別只在於放過哪些字元。只編碼一個值時,保留字元一個都不會留下,值裡面的斜線會變成 %2F 而不是路徑分隔符。編碼整個 URL 時,讓它成其為 URL 的那些分隔符會被保留。表單編碼遵循瀏覽器提交 HTML 表單時的做法,空格會變成加號。你還可以選擇字元集,這一點很重要,因為舊系統百分號編碼的往往不是 UTF-8 的位元組。
正在排查一個死活解不開的問題?
解不開的資料包通常是症狀而不是病根:鏈路上某處做了兩次編碼、字元集是被假定而不是被宣告、權杖簽章所涵蓋的位元組和大家以為的並不完全一致。這類活我們在做,圍繞整合、API 以及在它們之間傳遞資料的系統。
說說哪裡出了問題常見問題
什麼是 URL 編碼?
URL 編碼又叫百分號編碼,它把一個字元換成百分號加上該字元每個位元組的十六進位值。URL 能承載的字元很少,所以從空格到表情符號,其餘的一切都得以這種形式傳遞。
該編碼單一值還是整個 URL?
往查詢字串、路徑片段或錨點裡放文字時,編碼單一值,否則裡面的斜線或與號會把 URL 拆散。只有在已經有一個合法 URL、又想保住構成它結構的分隔符時,才編碼整個 URL。
空格為什麼有時會變成加號?
因為表單資料遵循 x-www-form-urlencoded 規則,把空格寫成加號,而 URL 的其他部分寫成 %20。表單解析器把兩者都讀回空格,但只有 %20 放在路徑裡是安全的。
我會用到 UTF-8 以外的字元集嗎?
很少,但確實會。舊的應用編碼的是 Windows-1252、ISO-8859-1 或 Shift_JIS 的位元組,所以為這類系統準備的值如果按 UTF-8 處理就會變成亂碼。請選對方實際使用的字元集。
會有內容傳送到你們伺服器嗎?
不會。整個頁面用標準的 Web API 在你的瀏覽器裡執行,你的文字不會離開這個分頁。因此拿它處理權杖、內網 URL 等你不願貼到遠端服務的內容是安全的。