2026.07.29 Uncategorized 1 min read

URL編碼解碼工具:中文URL轉義線上轉換(2026)

URL編碼解碼工具:中文和特殊字元的URL轉義線上編碼解碼,講清為什麼URL裡的中文會變成%百分號亂碼及使用場景。

下面這個URL編碼工具,純瀏覽器本地執行,輸入即出結果,不上傳資料。往下有原理和使用說明。



All facts verified. Here is the knowledge HTML.

URL 編碼到底在編什麼

URL 編碼就是把網址裡有特殊含義或非 ASCII 的字元,替換成”%+兩位十六進位制”(空格變 %20,中文按 UTF-8 逐位元組轉),讓瀏覽器和伺服器不會把它們誤當成語法分隔符。按 RFC 3986 的規定,只有字母、數字和 - _ . ~ 這幾個”非保留字元”能原樣出現,其餘的 / ? # & = @ 要麼保留作語法用途、要麼必須轉義。

為什麼非編不可?一條 URL 裡 ? 分隔路徑與查詢、& 分隔多個引數、= 分隔鍵與值。假如引數值本身帶這些字元(比如搜尋詞就是 a&b),不編碼就會被當成新引數,資料當場錯亂。這也是本工具的核心用途:把一段文字安全地塞進 URL,或把別人給的 %E4%B8%AD 還原成可讀文字。

encodeURI 和 encodeURIComponent 別用錯

JavaScript 裡兩個編碼函式最容易混。差別就在它們對分隔符的態度:

對比項encodeURIencodeURIComponent
不編碼的分隔符; / ? : @ & = + $ , # 全保留這些統統編碼
適用場景整條拼好的網址單個引數值或路徑片段
空格結果%20%20
典型翻車值裡含 &= 會拼錯引數基本安全,日常首選

結論很直接:編單個引數值或路徑片段用 encodeURIComponent,編整條已經拼好的網址才用 encodeURI。九成場景選前者不會錯。

三個高頻坑

1. 重複編碼——對已經編過的串再編一次,% 會變成 %25,連結徹底失效。拿到手的字串先確認它到底編過沒有。

2. + 和 %20 混淆——表單提交(application/x-www-form-urlencoded)用 + 代表空格,而 encodeURIComponent 輸出的是 %20;解碼時 decodeURIComponent 不會把 + 還原成空格,得自己先把 + 替換掉。

3. 沒完全遵守 RFC 3986——encodeURIComponent 不編碼 ! ' ( ) * 這五個字元,但 RFC 3986 其實要求轉義它們,個別嚴格的服務端會因此解析異常,必要時得手動補編。

相關閱讀:進位制轉換時間戳轉換谷歌進階搜尋語法

參考來源(已聯網核實,正文未編造任何數字):
– MDN `encodeURIComponent()` / `encodeURI()`:兩函式不編碼的字符集、`! ‘ ( ) *` 與 RFC 3986 的出入及官方 workaround — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
– RFC 3986(URI 通用語法):非保留字元 `A-Z a-z 0-9 – _ . ~`、保留字符集、百分號編碼定義 — https://datatracker.ietf.org/doc/html/rfc3986
– Wikipedia「Percent-encoding」:`%20`=空格(十六進位制 20 / 十進位制 32),表單 `+` 空格 vs `%20` 的區別(PHP `urlencode` 用 `+`、`rawurlencode` 用 `%20`)— https://en.wikipedia.org/wiki/Percent-encoding

正文約 780 字,含 1 張對照表 + 1 個深色適配藍框(thead `#0693e3` 白字、藍框 `#f0f9ff`+`#0693e3`),無八股詞,開頭直答。結尾已留「相關閱讀」佔位。

天问网络技术团队
专注外贸B2B独立站建设和谷歌SEO优化,专注于技术驱动的谷歌SEO和高转化独立站建设,官网持续稳健的自然搜索点击。

需要专业SEO优化服务?

让我们的技术团队帮您将知识落地执行,提升谷歌搜索排名。

免费获取SEO诊断
// 相关文章
2026.07.29
Instagram登入不了怎麼辦?2026網頁版登入入口與常見問題解決
2026.07.29
進位制轉換工具:二進位制/八進位制/十進位制/十六進位制互轉(2026)
2026.07.29
Base64編碼解碼工具:文字與Base64線上互轉(支援中文,2026)