⭐ 我的收藏
🕘 最近使用
输入
输出结果
两种模式的区别:
• encodeURIComponent:编码所有特殊字符(包括 / ? & =),适合编码 URL 参数值。
• encodeURI:保留 URL 结构字符(/ : ? & =),适合编码完整 URL。
注意两点:① 加号 + 在网址参数里表示空格,但那是表单编码的约定,本工具按 URI 规范不会自动转换;② 用 encodeURI 模式解码时,%2F %3F %26 这类结构字符也不会被还原(规范如此),要全部还原请切到 Component 模式。

什么是 URL 编码?

URL 编码(也叫百分号编码)是将 URL 中的特殊字符和非 ASCII 字符转换为 %XX 格式的过程。 因为 URL 标准只允许部分 ASCII 字符,中文、空格、特殊符号等必须编码后才能在 URL 中传输。 例如,"轻捷" 编码后变为 %E8%BD%BB%E9%9B%86。

常见问题

Q:encodeURI 和 encodeURIComponent 有什么区别?

A:encodeURI 不会编码 URL 的结构字符(如 / : ? & = #),适合编码整个 URL。encodeURIComponent 会编码所有特殊字符,适合编码 URL 参数值。

Q:什么场景需要 URL 编码?

A:1)在 URL 中传递中文参数;2)API 请求拼接查询字符串;3)处理含特殊字符的链接。

Q:解码后为什么还留着加号(+)?

A:网址参数里的 + 表示空格,但那是表单编码(application/x-www-form-urlencoded)的约定,不属于 URI 编码规范,所以本工具不会自动把 + 转成空格。需要空格的话,把 + 换成 %20 再解即可。