URL编码/解码器 常见问题

编码和解码URL字符串

什么是 URL 编码?

URL 编码(百分号编码)将特殊字符转换为 URL 中可以安全使用的格式。它使用 % 后跟十六进制数字:空格变为 %20,@ 变为 %40。这确保 URL 有效且明确。

我应该对空格使用 %20 还是 +?

%20 在所有 URL 上下文中都有效。+ 在查询字符串中有效(application/x-www-form-urlencoded),但在路径中无效。为了一致性,使用 %20。

我需要对整个 URL 进行编码吗?

不需要,仅对数据部分进行编码,而不是结构。对查询参数值、路径数据进行编码。不要对协议 (https://)、域 (example.com) 或结构字符 (? & =) 进行编码,除非它们是数据的一部分。

URL 编码和 Base64 有什么区别?

URL 编码专门用于使 URL 有效,仅对特殊字符进行编码。Base64 将二进制数据转换为文本,对所有内容进行编码并增加 33% 的大小。它们服务于不同的目的。

如何在 JavaScript 中对 URL 进行编码?

对完整值使用 encodeURIComponent()。对于完整 URL(保留结构)使用 encodeURI()。示例:encodeURIComponent('coffee & tea') → 'coffee%20%26%20tea'

URL 编码区分大小写吗?

编码的十六进制数字(%2F 与 %2f)在技术上不区分大小写,但约定使用大写。URL 的其他部分(域、路径)可能区分大小写,具体取决于服务器。

试用工具

编码和解码URL字符串

URL编码/解码器