知办库

URL 编解码工具 — 在线 URL 编码与解码

把中文、空格、特殊符号转换成百分号编码(percent-encoding),或把 URL 还原成可读文本。三种模式随时切换,输入即转换。所有处理在浏览器本地完成。

三种模式的区别

模式不转义哪些字符典型用途
encodeURIComponent A-Z a-z 0-9 - _ . ! ~ * ' ( ) 查询参数的值、路径片段。最常用
encodeURI 上述字符 + ; , / ? : @ & = + $ # 编码一整条 URL,保留其结构符号
decodeURIComponent %E4%B8%AD 这类编码还原成原文

最常见的误用:用 encodeURI 去编码参数值。因为它不转义 &=,参数值里含有这些符号时会破坏 URL 结构。参数值请一律使用 encodeURIComponent

常见字符对照

原字符编码后说明
空格%20在查询串里也常被写成 +,但那是 application/x-www-form-urlencoded 的约定,不是 URL 标准本身
%E4%B8%ADUTF-8 三个字节,每个字节一个百分号
&%26参数分隔符,出现在值里必须转义
=%3D键值分隔符,出现在值里必须转义
?%3F查询串起始符
#%23片段标识符,不发给服务器
/%2F路径分隔符;在参数值里转义可避免被当作路径
+%2B本身是合法字符,但表单编码中代表空格,容易混淆

常见问题

为什么解码时报 “URI malformed”?
输入里存在孤立的 %,或百分号后不是两位十六进制(如 %ZZ%E4%B8 被截断)。本工具会捕获该错误并在下方提示,而不会让页面崩掉。
编码后大小会变大吗?
会。UTF-8 下一个中文字符占 3 字节,编码后变成 %XX%XX%XX,即 9 个 ASCII 字符,长度约为原文的 3 倍。这也是查询串不宜塞入大段中文的原因。
空格到底应该是 %20 还是 +?
URL 标准(RFC 3986)里空格是 %20+ 表示空格只适用于表单提交(application/x-www-form-urlencoded)。本工具输出 %20,这是更安全的选择。
应该对整个 URL 编码吗?
通常不应该。整条 URL 编码会把 :///? 也转义掉,得到的字符串不再是可用链接。正确做法是只对参数值逐个编码。
数据会被上传吗?
不会。页面没有任何网络请求,转换完全由浏览器内置的 encodeURIComponent / decodeURIComponent 完成。
开源仓库与下载
← 返回知办库首页
GitHub 开源源码 Gitee 开源源码(国内) 夸克网盘下载 百度网盘下载
夸克提取码:0605 | 百度提取码:rh6y
查看绿色版下载页 →