URL 编码解码
中文 URL 百分号编码与解码,encodeURIComponent / encodeURI 双模式。
什么是 URL 编码?
URL 编码(也叫百分号编码)是把 URL 中的特殊字符转换为 %XX 形式(XX 为字符的 UTF-8 十六进制字节)的过程。由于 URL 规范只允许 ASCII 字符,中文、空格、emoji 以及 & = ? 等具有特殊含义的字符都必须经过编码才能安全地放入网址中。最典型的场景是浏览器地址栏中的中文搜索词,例如「在线工具箱」会被编码为 %E5%9C%A8%E7%BA%BF%E5%B7%A5%E5%85%B7%E7%AE%B1。
本工具提供两种编码模式:「编码(参数)」使用 encodeURIComponent,会转义包括 : / ? # & = 在内的几乎所有特殊字符,适合编码查询参数的值;「编码(URL)」使用 encodeURI,保留 URL 结构字符,只转义空格、中文等,适合编码整个网址。解码使用 decodeURIComponent,可还原两种模式产生的编码结果。全部计算在浏览器本地完成,中文按 UTF-8 处理,不会出现乱码。
使用步骤
- 将需要编码或解码的文本粘贴到输入框;
- 编码查询参数值请点击「编码(参数)」,编码整个网址请点击「编码(URL)」;
- 解码时点击「解码」,结果立即显示在结果区;
- 点击「复制」按钮将结果一键复制到剪贴板。
常见问题
encodeURIComponent 和 encodeURI 有什么区别?
encodeURIComponent 会转义 URL 中几乎所有特殊字符(包括 : / ? # & = 等),适合编码查询参数的值;encodeURI 保留 : / ? # & 等 URL 结构字符,只转义空格、中文等,适合编码整个 URL。
中文在 URL 里为什么要编码?
URL 规范只允许 ASCII 字符,中文等非 ASCII 字符需要先按 UTF-8 编码为字节,再转成百分号形式(例如「你」变成 %E4%BD%A0),否则可能出现乱码或请求失败。
解码失败提示「不是有效的 URL 编码」怎么办?
检查输入是否包含未转义的 % 字符或误用了全角字符,也可以先清除文本中多余的空格和换行后再试。
URL 编码是加密吗?
不是。URL 编码只是一种格式转换,任何人都可以解码还原原文,不能用来保护密码等敏感信息。