首页 > 使用教程 > URL编码是什么?urlencode和urldecode有什么区别

URL编码是什么?urlencode和urldecode有什么区别

更新于 2026-10-25 · 阅读约 2 分钟

地址栏里的 %E4%B8%AD%E6%96%87 就是 URL 编码后的中文。为什么需要它?两种编码函数又有什么区别?

相关工具:URL编解码工具

不用装软件,打开网页就能用。数据在浏览器本地处理,不上传服务器。

立即使用URL编解码工具

一、为什么需要 URL 编码

URL 只允许 ASCII 字符集中的部分安全字符。中文、空格、问号、井号等若直接出现在 URL 中会引起歧义或解析错误,必须转义为 % 加两位十六进制。

二、哪些字符必须转义

空格转 %20(表单中有时为 +)、中文按 UTF-8 逐字节转义(中 = %E4%B8%AD)、井号转 %23、问号转 %3F、与号转 %26。

三、两种 JS 编码函数

encodeURI 用于编码整个 URL,不转义 :/?#&= 等保留字符;encodeURIComponent 用于编码参数值,连这些保留字符一并转义。传参时用后者,拼完整 URL 时用前者。

四、工具使用

打开 URL 编解码工具,粘贴带 % 的字符串一键解码,或粘贴原文一键编码,支持整个 URL 和单个参数值两种模式。

常见问题

为什么解码后中文乱码?

编码时用的字符集(如 GBK)和解码时用的(UTF-8)不一致,确保两端都用 UTF-8 即可。

+ 和 %20 一样吗?

在查询字符串中等价,但在路径中 + 表示加号本身,需用 %20 表示空格。

已经编码的字符串会重复编码吗?

不要把已编码字符串再编码一次,% 会变成 %25,造成双重编码错误。

相关阅读

Markdown表格语法 CSV和JSON有什么区别?CSV转JSON怎么转 Cron表达式怎么写?定时任务语法详解 JWT是什么?JWT的结构与解码方法 二维码生成原理 百分比计算公式
返回全部教程