URL 编码 / 解码
URL 编码(百分号编码)、解码,支持 UTF-8、URI 组件。
输入内容
输出结果
encodeURI vs encodeURIComponent 的区别
| 方法 | 不编码的字符 | 用途 |
|---|---|---|
encodeURI | A-Z a-z 0-9 - _ . ! ~ * ' ( ) ; , / ? : @ & = + $ # | 整条 URL |
encodeURIComponent | A-Z a-z 0-9 - _ . ! ~ * ' ( ) | URL 参数值(会编码 / ? : @ & 等) |
URL 编码解码工具
URL 编码(又称百分号编码)将 URL 中的特殊字符转换为 %XX 形式,确保 URL 在网络传输时不会被误解析。本工具支持 encodeURI / encodeURIComponent 及其反向解码。
常见场景
- 接口参数:中文、空格、特殊符号作为 URL 参数时必须编码
- 前端路由:query string 中的特殊字符
- 重定向:redirect_uri 参数需要编码
URL 常见问答
中文被编码成了 %E4%B8%AD 是什么?
这是 UTF-8 编码后的百分号表示。中文字符「中」的 UTF-8 字节是 E4 B8 AD,每个字节前加 % 即 %E4%B8%AD。
应该用 encodeURI 还是 encodeURIComponent?
编码整条 URL 用 encodeURI(保留 / ? : @ & 等);编码 URL 的某个参数值用 encodeURIComponent(这些字符也要编码)。
空格编码成 + 还是 %20?
两者都合法。HTML 表单(application/x-www-form-urlencoded)用 +,纯 URL 中 RFC 3986 推荐 %20。本工具使用 %20 以符合 RFC 标准。
URL 为什么需要编码?
URL 标准只允许 ASCII 字母数字和少数特殊字符(- _ . ~ : / ? # [ ] @ ! $ & ' ( ) * + , ; =)。中文、空格、其他非 ASCII 字符必须编码为 %XX 形式才能在 URL 中安全传输,否则会被解析器误判。