如果這個工具幫到了你,可以請作者喝杯咖啡 ☕
線上工具,用於字串的Escape編碼與解碼,便於URL傳參和數據處理。
當您需要在URL中安全傳遞包含中文、空格或特殊符號的字串時,直接傳輸可能導致資料丟失或URL格式錯誤。本工具透過Escape編碼將字串中的每個Unicode字元轉換為“%uXXXX”(如“%u4E2D”)格式,或對已編碼的字串進行反向解碼,從而確保資料在HTTP請求中完整、正確地傳輸。Escape編碼是一種針對Unicode字元的百分比編碼方案,主要應用於JavaScript的全域性函式中,用於處理URL中的非ASCII字元。
Hello 世界!)。Hello%20%u4E16%u754C%uFF01)。問:Escape編碼和標準的URL編碼(Percent-Encoding)有什麼區別?
答:主要區別在於編碼格式。Escape編碼將Unicode字元(如中文)編碼為“%uXXXX”(四位元組十六進制)形式,例如“中”編碼為“%u4E2D”。而標準URL編碼通常將字元轉換為“%XX”(兩位元組十六進制)形式,且對ASCII字元(如空格轉為%20)處理方式更通用,是RFC標準推薦的做法。在Web開發中,通常推薦使用標準的encodeURIComponent。
問:瀏覽器位址列引數應該用哪種編碼?
答:推薦使用標準的URL編碼(如JavaScript的encodeURIComponent)。因為Escape編碼(escape/unescape)是舊規範,現代瀏覽器雖仍支援,但並非所有伺服器端都能正確解析%uXXXX格式,可能導致引數亂碼。
請注意:本工具處理的是純文字字串,不支援直接上傳檔案。輸入過長的文字(如數萬字元)可能導致頁面響應變慢。編碼結果主要用於URL引數部分,請勿用於編碼整個URL。處理使用者輸入時,請注意原始資料中可能已包含編碼字元,避免重複編碼。本工具在瀏覽器本地執行,您的資料不會上傳至伺服器。
在Web前端開發中,雖然escape/unescape函式因歷史原因存在,但W3C已不推薦使用。對於URL編碼,應優先使用encodeURIComponent和decodeURIComponent,它們遵循RFC 3986標準,相容性更好。一個典型場景是:當您需要將包含中文的搜尋關鍵詞“北京天氣”透過GET請求傳遞時,使用encodeURIComponent(“北京天氣”)會得到“%E5%8C%97%E4%BA%AC%E5%A4%A9%E6%B0%94”,而escape(“北京天氣”)會得到“%u5317%u4EAC%u5929%u6C14”。前者是現代Web API(如fetch、axios)和伺服器框架(如Node.js、PHP)普遍支援的標準格式。