什么是URL 编码 / 解码?
URL 编码工具把字符串转换为百分号编码,并区分两种语义:编码整个 URL 时保留 : / ? & 等结构字符,编码单个查询参数值时则把它们一并转义。两种模式都在浏览器内完成。
怎么用URL 编码 / 解码?
- 1输入需要处理的 URL 或参数值。
- 2选择模式:整串编码(encodeURI)或参数编码(encodeURIComponent)。
- 3切换到解码方向可还原百分号编码。
- 4结果中若出现 %25,说明原文已经被编码过一次,注意避免重复编码。
在代码里怎么实现?
一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。
JavaScript
Python
// 整个 URL:保留 : / ? & = # 等结构字符
encodeURI('https://a.com/搜索?q=你好');
// 单个参数值:连 & = 也一起转义
encodeURIComponent('a&b=c');常见错误与排查
| 现象 | 成因 | 修复 |
|---|---|---|
| 参数值里的 & 把一个参数拆成了两个 | 用 encodeURI 编码了参数值,& 没有被转义。 | 参数值必须用 encodeURIComponent 编码。 |
| 解码后出现 %2520 这样的残留 | 原文被编码了两次(双重编码)。 | 连续解码两次,并在代码里检查是否重复调用了编码函数。 |
常见问题
encodeURI 和 encodeURIComponent 该用哪个?+
拼接完整 URL 时用 encodeURI,它会保留 : / ? & = # 这些结构字符;把值放进查询参数或路径片段时用 encodeURIComponent,它会把结构字符也转义,避免值里的 & 破坏参数结构。
空格该编码成 %20 还是 +?+
URL 路径与查询字符串中标准写法是 %20;application/x-www-form-urlencoded 的表单提交里空格是 +。两者不通用,把表单风格的 + 直接放进路径会被当作加号字面量。
相关工具
全部工具Base64 编码 / 解码
Base64 Encoder & Decoder
Base64 编码与解码,支持 UTF-8 与 URL-safe
文件 Base64 转换
File to Base64
文件转 Base64 与 Data URI,文件不上传
HTML 实体转义 / 反转义
HTML Entity Encoder
HTML 实体转义与反转义
Hex 与文本互转
Hex to Text Converter
文本与十六进制互转,支持多种分隔风格
Unicode 转义 / 还原
Unicode Escape Converter
Unicode 转义与还原,支持三种写法
哈希计算(MD5 / SHA)
Hash Generator
计算 SHA-1/256/384/512 与 MD5 摘要