URL 编码与解码
对 URL 和查询字符串进行百分号编码或解码 — 全部在浏览器中即时完成。
组件模式会转义每一个保留字符(适用于查询值和路径片段);完整 URL 模式会保留 : / ? & = 等 URL 结构字符(适用于整段 URL)。
关于 URL 编码/解码器
URL 编码(百分号编码)会将 URL 中不允许出现的字符——空格、符号和非 ASCII 字符——转换为 %XX 形式的序列,使其可以安全地出现在链接、查询字符串和表单提交中。此工具完全在浏览器中完成 URL 的编码与解码,你输入的内容永远不会被发送到任何地方。
功能:
- 适用于查询值、路径片段和表单数据的组件模式
- 保留 : / ? & = 等 URL 结构的完整 URL 模式
- 输入的同时即时转换
- 针对无效百分号编码输入给出清晰的错误提示
如何使用 URL 编码/解码器
- 选择编码或解码
- 选择组件模式或完整 URL 模式
- 在输入区域输入或粘贴文本或 URL
- 一键复制结果
常见问题
什么是 URL 编码?
URL 编码,也称为百分号编码,会将 URL 中不安全的字符——例如空格、& 以及非 ASCII 字母——替换为 % 加上表示该字符字节值的两位十六进制数。
encodeURIComponent 和 encodeURI 有什么区别?
encodeURIComponent(组件模式)会转义几乎所有特殊字符,包括 /、: 和 &,因此适合用于单个查询值或路径片段。encodeURI(完整 URL 模式)会保留这些结构字符不变,因为它假定输入的是一个完整且有效的 URL。
为什么解码时会出现错误?
当输入中包含未跟随两个有效十六进制数字的 % 符号,或者存在损坏的多字节 UTF-8 序列时,解码就会失败。请检查编码字符串是否被完整复制,且未被修改。
什么时候应该使用 encodeURIComponent 而不是 encodeURI?
只要是编码单个数据项——例如查询参数、路径片段或表单字段——就应使用 encodeURIComponent(组件模式),因为它会转义 & 和 = 等原本会破坏 URL 结构的字符。只有当你已经拥有一个完整的 URL,并且只想转义空格或 Unicode 字符,同时保留 :// 和 ? 等结构时,才应使用 encodeURI(完整 URL 模式)。
这个工具支持非英文字符吗?
支持。任何 Unicode 字符,包括带重音符号的字母、中文、日文或表情符号,都会先转换为其 UTF-8 字节序列,再进行百分号编码,因此结果始终是安全的纯 ASCII 文本。
为什么空格会变成 %20 或 +?
在 URL 路径或查询值中,encodeURIComponent 会将空格转换为其正确的百分号编码形式 %20。一些较旧的系统和 HTML 表单提交在查询字符串中会用 + 表示空格,这是表单特有的另一种约定,本工具并未采用,因为 %20 才是普遍正确的编码方式。
隐私
所有处理都通过浏览器内置的 Web API 在本地完成,你的文本永远不会上传到任何服务器。