這個工具的用途
百分號編碼(RFC 3986)把會讓 URL 解析器困惑的字元——空白、?、&、#、非 ASCII 字母——轉成安全的 %XX 形式。本工具支援編碼 / 解碼 URL 元件、完整 URI、與 HTML form body(空白變 + 的變體)。所有運算都在你的瀏覽器內完成——資料不會上傳。
使用步驟
選擇編碼或解碼,挑符合場景的變體,貼上輸入即可。
Component(最常用):
輸入:hello world & friends
輸出:hello%20world%20%26%20friends完整 URI(保留 : / ? & 等結構字元):
輸入:https://example.com/path?q=hi there
輸出:https://example.com/path?q=hi%20thereForm(空白 → +):
輸入:hello world
輸出:hello+world限制與邊界情況
- 把值放在 URL 裡面(query 值、path 段)時用 Component;要編碼整段 URL 並保留
: / ? & = #等結構字元時用 URI。 - Form 對應 HTML form POST 的
application/x-www-form-urlencoded——和 Component 唯一差別是空白變成+。 - 解碼遇到格式錯誤的 escape(落單的
%、非 hex 字元配對)會顯示確切的位置。binary 資料請改用 Base64 工具。
常見問題
- 我的資料會送到伺服器嗎?
- 不會。編碼和解碼都完全在你的瀏覽器內進行,本頁從不上傳輸入。
- Component 和 URI 差在哪?
- URI-component 編碼會 escape URL 結構字元(: / ? & = #)。URI 編碼則保留它們讓 URL 仍可解析。Query 值用 Component,整段 URL 用 URI。
- 什麼時候要用 Form(+ 表示空白)?
- 要組 application/x-www-form-urlencoded 的 body 時用 Form——這就是 HTML form POST 和 URLSearchParams.toString() 的格式。和 Component 唯一差別是 + ↔ 空白。
- 支援 Unicode(中文、emoji)嗎?
- 支援。輸入先以 UTF-8 編碼再做百分號 escape,所以「你好」→ %E4%BD%A0%E5%A5%BD、👋 → %F0%9F%91%8B 都能完整往返。
- 為什麼解碼失敗顯示「URI malformed」?
- 輸入裡有落單的 % 或不合法的 escape(例如 %2G——G 不是 hex digit)。錯誤訊息會指出錯誤偏移位置。