URL 编码解码
在线 URL 编码与解码转换
这是什么工具?
URL 编码解码工具可以将文本转换为 URL 安全的编码格式(百分号编码),或将已编码的 URL 字符串还原。支持 UTF-8 中文。适用于处理 URL 参数、调试 API 请求、分析链接中的特殊字符等场景。
如何使用?
- 1 在输入框中输入需要编码或解码的文本
- 2 点击「编码」按钮将文本转为 URL 编码
- 3 点击「解码」按钮将 URL 编码还原为文本
- 4 点击「复制」按钮复制结果
常见问题
什么是 URL 编码?
URL 编码(也叫百分号编码)将 URL 中的特殊字符转换为 %XX 格式,确保 URL 在网络传输中不会出现问题。
支持中文吗?
支持,中文会被编码为 %E4%BD%A0 等格式的 UTF-8 百分号编码。
编码和解码有什么区别?
编码将原始文本转为 URL 安全格式(如「你好」→「%E4%BD%A0%E5%A5%BD」),解码则反向操作。
适用场景与示例
- URL 查询参数里传中文搜索词或回跳地址,编码后避免乱码和参数解析错误
- 调试 API 时把已编码的参数还原,看清实际传给服务端的值
- OAuth、支付回调里拼接 redirect_uri 等嵌套 URL,需先把内层 URL 编码再嵌入
- 处理含 #、&、=、空格 的参数值,防止它们破坏 URL 结构
输入
你好 a&b=1
输出
%E4%BD%A0%E5%A5%BD%20a%26b%3D1
💡 中文按 UTF-8 三字节一组编码;空格、&、= 也被编码,确保不破坏参数结构。
原理与常见错误
URL 只允许 ASCII 的一个子集直接出现,其余字符(中文、空格、#、&、= 等)必须用百分号编码(percent-encoding):把每个字节写成 %XX 的十六进制形式。中文「你」的 UTF-8 编码是 E4 BD A0 三个字节,故编码为 %E4%BD%A0。要特别区分两对易混 API:encodeURI/decodeURI 只编码「URL 非法字符」,保留 :/?#&= 等结构符,适合编码一整条 URL;encodeURIComponent/decodeURIComponent 会把结构符也编码,适合编码单个参数值——参数值用后者才安全。空格在 URL 里通常编码成 %20,但在表单/query(application/x-www-form-urlencoded)场景里常用 + 表示,两者不等价,混用会导致解码异常。
⚠️ 用 encodeURI 编码参数值,值里的 & = 没被编码
参数值一律用 encodeURIComponent,整条 URL 才用 encodeURI。
⚠️ 中文参数到服务端乱码
前后端约定统一用 UTF-8 编解码。
⚠️ + 被错误解码成空格
+ 当空格是表单场景的约定,纯 URL 中空格应编码为 %20,不要混用。
⚠️ 对已编码字符串再次编码,% 变成了 %25
只编码一次,解码同样只做一次。
参考与更新
最后更新:2026-06-23