🔗 URL 在线编解码工具

URL 编码 (encodeURIComponent) · URL 解码 · 纯浏览器处理

📌 常用编解码示例

Hello World!Hello%20World!
https://example.com?q=你好https%3A%2F%2Fexample.com%3Fq%3D%E4%BD%A0%E5%A5%BD
name=张三&age=25name%3D%E5%BC%A0%E4%B8%89%26age%3D25

📘 关于 URL 编码

URL 编码(百分号编码)是将 URL 中的特殊字符转换为 % 加十六进制数字的形式,确保 URL 能被正确传输和解析。
URL 中只允许 ASCII 字符集的字母、数字和部分特殊符号。中文、空格、&、= 等都需要编码。
本工具使用 encodeURIComponent / decodeURIComponent 进行编解码,所有处理均在浏览器本地完成。

📖 URL 编解码使用教程

URL 编码(又称百分号编码)是把 URL 中的特殊字符转换成 %XX 形式的过程,确保中文、空格、&、= 等字符能在 URL 中正确传输。本工具支持 encodeURIComponent(完整编码)和 encodeURI(保留 URL 结构)两种模式。

使用步骤

① 在输入框粘贴要处理的文本或 URL;② 点击「编码」将内容转为安全格式;③ 点击「解码」还原原始内容;④ 结果一键复制。例如:把"你好世界"编码后得到 %E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C,浏览器会自动还原成中文。

两种编码模式怎么选

「encodeURIComponent」用于编码 URL 参数值(如 ?keyword=xx),最常用;「encodeURI」保留 :/?#& 等结构字符,用于编码整个 URL。实际开发中,参数值一律用 Component 模式,防止 & 符号被误解析为参数分隔符。

典型场景:生成分享链接、处理搜索关键词、爬虫数据清洗、API 请求参数拼接。

❓ 常见问题(FAQ)

Q1:为什么中文在 URL 里显示为 %E4%BD%A0?

URL 只允许 ASCII 字符,中文需要按 UTF-8 编码转成十六进制百分号形式。浏览器会自动处理,但手动拼 URL 时必须编码,否则参数会被截断或乱码。

Q2:encodeURI 和 encodeURIComponent 有什么区别?

encodeURI 保留 :/?#& 等结构字符(编码整个 URL 用);encodeURIComponent 把这些字符全部编码(编码参数值用)。用错模式可能导致链接失效或参数解析错误。

Q3:空格在 URL 里显示为 + 还是 %20?

在 URL 路径中空格编码为 %20;在表单的 application/x-www-form-urlencoded 内容中空格编码为 +。JavaScript 的 encodeURIComponent 输出 %20。

Q4:解码失败或乱码怎么办?

先确认字符串是标准百分号编码格式(% 后跟两位十六进制)。如果是从旧系统来的数据,可能是 GBK 编码而非 UTF-8,需先转码再解码。

Q5:本工具会记录我编码的内容吗?

不会。所有编解码在浏览器本地执行,输入内容不出本机,适合处理含敏感信息的 URL。

Q6:URL 编码和 Base64 编码是一回事吗?

不是。URL 编码把字符变成 %XX 形式,用于 URL 传输;Base64 把二进制数据变成 ASCII 字符串,用于数据存储和传输。两者用途不同,本工具箱均提供对应工具。