URL 编码 / 解码
在线 URL 编码与解码工具,支持 encodeURIComponent 与整串 encodeURI,可选 + 代替 %20,正确处理中文等多字节 UTF-8 字符,纯浏览器本地计算。
本地计算 · 数据不上传
广告
工具说明
工具说明
URL 编码(百分号编码)把 URL 中不允许直接出现的字符转换为 %XX 形式,常用于拼接查询参数、表单提交与 API 请求。本工具提供两种编码级别:
- 组件编码(encodeURIComponent):编码除
A-Za-z0-9 - _ . ! ~ * ' ( )之外的所有字符,适合编码「单个参数值」。 - 整串编码(encodeURI):保留
;/?:@&=+$,#等 URL 结构字符,适合编码「整条 URL」。
勾选「空格用 + 表示」后,编码结果中的 %20 会替换为 +(即 application/x-www-form-urlencoded 风格),解码时也会先把 + 还原为空格。所有多字节字符(中文、emoji 等)均按 UTF-8 正确编码。
使用示例
对参数值 你好 world 做组件编码:
%E4%BD%A0%E5%A5%BD%20world开启「空格用 + 表示」后变为:
%E4%BD%A0%E5%A5%BD+world常见用途
- 在浏览器地址栏或 fetch 请求里安全地拼接中文参数
- 调试接口时快速查看编码前后的差异
- 处理表单提交与重定向中的特殊字符
常见问题
Q1.encodeURI 和 encodeURIComponent 有什么区别?
encodeURIComponent 会编码几乎所有非字母数字字符,适合编码「一个值」;encodeURI 保留 ; / ? : @ & = + $ , # 等 URL 分隔符,适合编码「整条链接」。编码整条 URL 时若用 encodeURIComponent,会把斜杠和问号也编码掉,导致链接失效。
Q2.为什么中文会变成 %E4%BD%A0 这么长?
因为中文在 UTF-8 下占用多个字节,每个字节被编码成一个 %XX(两位十六进制)。这是标准且可逆的,对方用对应的解码函数即可还原。
Q3.+ 和 %20 是一回事吗?
在 application/x-www-form-urlencoded 表单格式里,+ 代表空格;但在标准 URL 路径中 + 就是 +。本工具提供「空格用 + 表示」开关,编码时把 %20 换成 +,解码时把 + 换回空格,避免混淆。
Q4.我的数据会被上传吗?
不会。所有编码解码都在浏览器本地完成,刷新页面即可离线使用。
广告