編碼模式
標準模式使用 encodeURIComponent / decodeURIComponent;表單模式會將空格編碼為「+」。
原文
結果
輸入內容後,編碼 / 解碼結果會實時顯示在這裏。
編碼對照
原文中需要轉義的字符逐個列出,方便核對編碼規則與 UTF-8 字節。
歷史記錄
轉換記錄只保存在你自己瀏覽器的 localStorage(最多 {n} 條),點擊條目可回填原文、模式與操作。
功能特性
- 兩種模式一鍵切換:標準模式嚴格按 RFC 3986 的 encodeURIComponent 規則,表單模式按 application/x-www-form-urlencoded 把空格編碼成 +。
- 輸入即出結果:編碼和解碼都是實時完成,中文、emoji 與 &、#、?、=、空格等特殊字符自動正確處理,無需點擊按鈕。
- 編碼對照表:逐字符列出原文裏哪些字符被轉義、轉義成什麼、佔用幾個 UTF-8 字節,看得見編碼規則本身。
- 字符與字節統計:原文與結果同時給出字符數與 UTF-8 字節數,介面簽名、請求體體積這類場景可以直接讀數。
- 歷史記錄:最近 20 條轉換記錄存在瀏覽器本地,點擊任意一條即可回填原文與設置,另可一鍵清空。
- 純前端本地計算:所有轉義與還原都在你的瀏覽器裏完成,文本不上傳、不留存,界面支持簡體 / 繁體 / English。
使用方法
- 在「編碼模式」裏選標準模式或表單模式——簽名參數、URL 片段拼接用標準模式;要提交 application/x-www-form-urlencoded 請求體時用表單模式。
- 在「操作」裏切「編碼 / 解碼」,把文本貼進「原文」框,結果立即出現在下方,點「複製結果」帶走。
- 點「示例」載入一段含中文、空格、&、#、? 的樣例文本;編碼後看「編碼對照」即可明白每個字符為什麼被轉義。
- 解碼報錯時先確認百分之百是合法的百分號編碼:% 後必須跟兩位十六進制數字,多行貼上偶爾會帶入換行或空格導致失敗。
常見問題
- encodeURIComponent 和 encodeURI 有什麼區別?
- encodeURI 只轉義 URI 裏不允許出現的字符,保留 : / ? # & = 等結構符號,適合轉整個 URL;encodeURIComponent 除 A-Z a-z 0-9 - _ . ! ~ * ' ( ) 之外全部轉義(包含 : / ? # & = 空格與中文),適合轉 URL 的單個參數值。拼接請求參數、把內容塞進 URL 時用 encodeURIComponent 更安全,本工具標準模式就是它。
- 表單模式(x-www-form-urlencoded)和標準模式差在哪?
- 差別就在空格:標準模式把空格轉義成 %20,而 HTML 表單提交規範(application/x-www-form-urlencoded)要求空格編碼成 +。兩種寫法的含義相同(%20 與 + 都表示空格),但服務端按不同規範解析:解析表單體時見 + 轉空格,解析 URL 路徑與查詢參數時有的框架會把 + 也當空格、有的不會,所以參數值要帶空格時首選 %20,模擬表單提交時用 +。
- 解碼報「URI malformed」是怎麼回事?
- decodeURIComponent 要求 % 後面緊跟兩位十六進制數字(0-9 a-f A-F)。字串裏出現 % 後不是合法十六進制、或 %XX 形成的字節序列不是合法的 UTF-8 編碼時,瀏覽器就會拋 URIError。常見來源:把已經解碼過的文本再解一次、中文文本被截斷、或從富文本編輯器貼上時帶入了不可見字符。
- 中文和 emoji 編碼後為什麼變成長串的 %XX?
- URL 裏只允許 ASCII 字符,非 ASCII 字符要先按 UTF-8 編碼成字節,再把每個字節寫成 %XX。一個中文字符佔 3 個 UTF-8 字節所以是 %E4%B8%AD 這樣的 9 個字符,emoji 佔 4 個字節更長。這也是為什麼 URL 裏出現中文需要先編碼——解碼後它們會原樣還原回來。
- 我貼上的內容會上傳嗎?
- 不會。編碼、解碼、統計、對照表全部由頁面裏的 JavaScript 在你自己的瀏覽器記憶體中完成:本頁是純靜態頁面、沒有任何後端介面,文本不會發出瀏覽器。歷史記錄只寫在你設備自己的 localStorage 裏(最多 20 條),可以隨時一鍵清空。
關於本工具
URL 編碼解碼是一個純前端的在線工具:輸入文本,按「標準(encodeURIComponent)」或「表單(x-www-form-urlencoded)」兩種規則實時給出結果,並附字符/字節統計、逐字符編碼對照與本地歷史記錄。它解決的是前端開發、API 調試與爬蟲場景裏最常遇到的那類問題:中文字符、空格、&、#、? 一放進 URL 就出錯。
轉義引擎直接調用瀏覽器內置的 encodeURIComponent / decodeURIComponent(標準模式)與空格到 + 的替換(表單模式),沒有第三方庫、沒有後端、沒有統計腳本;所有輸入輸出都只存在於你自己的瀏覽器會話里。界面支持簡體 / 繁體 / English。
站內其他工具
純前端計算 · 瀏覽器本地處理 · 免費 · 支持中/繁/英