開發者工具

URL 編碼/解碼工具

在瀏覽器內進行 UTF-8 百分比編碼及解碼,比較 encodeURIComponent 與 encodeURI 結果,並可複製或下載 UTF-8 文字檔。

關於URL 編碼/解碼工具

將文字轉成 UTF-8 百分比編碼

百分比編碼會把需要轉換的 UTF-8 位元組寫成百分號加兩位十六進制數字。例如,使用組件編碼將 凍檸茶 & 咖啡 轉成 %E5%87%8D%E6%AA%B8%E8%8C%B6%20%26%20%E5%92%96%E5%95%A1,當中的空白變成 %20& 變成 %26。解碼則把編碼序列還原成文字。

工具以 UTF-16 編碼單位計算輸入及結果長度,並非按畫面上的字數計算。例如 😀 佔兩個編碼單位,組合式表情符號可能佔更多。

組件編碼與 URI 編碼有甚麼分別?

要處理個別查詢參數值或 URI 組件,請使用 encodeURIComponent。它會保留英文字母、數字及 - _ . ! ~ * ' ( )。如需保留 URI 分隔符號,則使用 encodeURI;它亦會保留 ; / ? : @ & = + $ , #。兩者都會編碼方括號 [ ]

例如,對 https://example.com/search?district=尖沙咀&drink=tea 使用 URI 編碼時,中文會被編碼,而網址分隔符號會保留。假如參數值本身包含 &,應先用組件編碼處理該值,再組合成網址。

這兩種方式均不會驗證網址、檢查連結是否安全,亦不會把國際化網域名稱轉成 Punycode。原有的 % 會變成 %25,請先確認網址是否已經編碼。

解碼時保留加號,只還原一層編碼

解碼執行一次 decodeURIComponent,保留開頭及結尾的空白與原有加號。本工具不會解析 application/x-www-form-urlencoded 表單資料,也不會把 + 當作空白。只接受有效的 UTF-8 百分比編碼,不會自動識別或轉換 Big5 等其他字元編碼。

例如 凍檸茶+咖啡%2B牛奶 會還原成 凍檸茶+咖啡+牛奶,而 %2520 只會變成 %20。請按來源資料的實際格式決定是否再次解碼;還原保留字元可能改變網址的解讀方式。百分比編碼並非加密,亦不能代替 HTML 跳脫處理。

若百分比序列有誤、位元組並非有效 UTF-8,或文字含有未配對的代理碼元,工具會顯示錯誤,不會輸出部分結果。

輸入上限、複製與下載文字檔

編碼輸入上限為 100,000 個 UTF-16 編碼單位;解碼輸入及每項結果上限為 900,000 個。超出限制時不會產生結果,縮短輸入即可繼續。編碼產生的最大結果可移到解碼模式;解碼結果若超過 100,000 個編碼單位,便不能用作編碼輸入,請複製後分段處理。

切換模式會保留輸入。「使用結果並切換模式」會把結果用作下一次輸入,並切換轉換方向;在編碼模式下使用的是組件編碼結果。「清除」會移除輸入及結果。

可按「複製」,或選取結果後手動複製。顯示或貼上結果時,換行可能變成 LF 或 CRLF。「儲存 UTF-8」會開始下載文字檔,保留結果的原有換行位元組。不會額外加入位元組順序標記(BOM),但原文已有的 BOM 會保留。開始下載不代表裝置已完成儲存。

複製期間請先等候,不要複製其他內容。約五秒仍未確認完成時,工具會顯示提示;背景分頁或裝置休眠可能延遲提示。瀏覽器已開始的寫入無法取消,舊操作可能稍後完成並覆寫剪貼簿。

文字轉換在瀏覽器內完成,不會把輸入文字上載至伺服器。頁面仍可能因廣告及使用情況統計發出網絡請求;成功操作的統計不包含輸入或結果內容。

常見問題

Q. 應選擇哪一種編碼結果?
個別查詢參數值或 URI 組件應使用 encodeURIComponent。需要保留 URI 分隔符號時,可使用 encodeURI。兩者均會保留英文字母、數字及部分標點符號,但不會驗證網址是否有效或安全。
Q. 空白及加號會如何處理?
兩種編碼均會把空白轉成 %20。解碼會保留原有的 + 及開頭、結尾的空白,不會套用表單格式中把 + 換成空白的規則。
Q. 為甚麼未能解碼?
請檢查每個 % 後是否有兩位十六進制數字,以及編碼後的位元組是否構成有效的 UTF-8 序列。工具不會自動識別 Big5 等其他字元編碼,也不接受未配對的代理碼元。
Q. 會自動還原雙重編碼嗎?
不會。每次只解碼一層,例如 %2520 會變成 %20。再次解碼可能改變網址的含義,請先確認來源資料的編碼方式。
Q. 輸入有甚麼限制?文字會上載嗎?
編碼輸入上限為 100,000 個 UTF-16 編碼單位;解碼輸入及每項結果上限為 900,000 個。切換模式會保留輸入。轉換過程不會上載文字,但頁面的廣告及使用情況統計仍可能發出網絡請求。

資料來源與規格

相關工具

有問題或建議? 聯絡 NanToo

為這項工具評分
(0 則評分)