URL 编码与解码器 — 免费在线工具
使用此免费在线工具即时编码和解码 URL。支持 encodeURIComponent 和 encodeURI 模式,适用于查询字符串和完整 URL。无需注册。
什么是 URL 编码(百分号编码)?
URL 编码,也称为百分号编码,是 RFC 3986 中定义的一种在 URI 中表示特殊字符的机制。URL 中不允许出现的字符(如空格、与号、问号和非 ASCII 字符)会被替换为百分号加上其两位十六进制值(例如空格变为百分号20)。JavaScript 提供了两个内置函数:encodeURIComponent() 对所有特殊字符进行编码(适用于查询参数值),而 encodeURI() 保留 URL 结构字符如冒号、斜杠、问号和井号(适用于编码完整 URL 而不破坏其结构)。
如何使用此免费在线 URL 编码与解码器
- 选择模式:'编码'将文本转换为 URL 安全字符串,或'解码'将百分号编码字符串还原为纯文本。
- 选择编码函数:在 encodeURIComponent(编码所有字符)和 encodeURI(保留 URL 结构)之间切换。
- 在输入框中粘贴或输入文本,结果会实时更新。
- 点击复制按钮将输出复制到剪贴板。
URL 编码与解码的常见用途
- 构建查询字符串 — 在将包含 &、= 或空格等特殊字符的参数值附加到 URL 之前,对其进行安全编码。
- 调试编码后的 URL — 解码百分号编码的 URL 以读取原始值,排查路由或 API 问题。
- 编码非 ASCII 字符 — 将 Unicode 字符(中文、阿拉伯文、表情符号)转换为百分号编码序列,以在仅支持 ASCII 的 URL 中使用。
- 为 OAuth 准备重定向 URI — OAuth 流程要求在将 redirect_uri 值作为查询参数传递给授权端点时进行 URL 编码。
- 构建 mailto: 链接 — 在 mailto: 链接中编码主题行和正文内容,使特殊字符在邮件客户端中正确显示。
FAQ
encodeURI 和 encodeURIComponent 有什么区别?
encodeURI() 编码完整 URI,但保留属于 URL 语法的字符(如 ://?#&=)。encodeURIComponent() 编码除 A-Z、a-z、0-9 和 - _ . ~ 之外的所有字符,适用于查询参数值,因为这些结构字符也必须被转义。
为什么空格在 URL 中显示为 %20 或 +?
在标准百分号编码(RFC 3986)中,空格编码为 %20。在使用 application/x-www-form-urlencoded 的 HTML 表单提交中,空格编码为 +。两者都表示空格,但 %20 是 URL 的通用标准。
URL 编码和 HTML 实体编码是一样的吗?
不是。URL 编码(百分号编码)用于使字符串在 URL 中安全使用。HTML 实体编码(如用 'amp' 实体表示与号)用于使字符串在 HTML 标记中安全使用。它们用途不同,语法也不同。
这个工具免费且保护隐私吗?
是的。此工具完全在浏览器中使用 JavaScript 内置编码函数运行,不会向任何服务器发送数据,也无需注册。