DevFormatLab

URL 编码 / 解码

百分号编码 · 解码 · 查询参数安全

在浏览器内编码或解码 URL / URI 组件,适合查询参数、表单数据和回调地址。

96 字符 → 158 字符 · 158 字节
输入有效
输出

所有 URL 编码与解码都在浏览器本地完成。

什么是 URL 编码?

URL 编码也叫百分号编码,会把 URL 中不安全或有特殊含义的字符转换成 %HH 字节序列。空格、中文、日文、emoji,以及查询参数里的 /、&、=、# 等字符,如果不正确编码,就可能改变 URL 的含义。本工具支持两种常见场景:完整 URL 编码(类似 encodeURI)和 URI 组件编码(类似 encodeURIComponent)。同时支持 application/x-www-form-urlencoded 的空格规则:在表单和查询字符串里用 + 表示空格。

功能特性

  • 支持完整 URL 或单个 URI 组件编码
  • 解码百分号编码字符串,并对非法序列给出清晰错误
  • 可选 + 与空格互转,适合表单和查询字符串
  • 基于浏览器原生 encodeURI / encodeURIComponent,Unicode 安全
  • 实时输出,一键复制或下载
  • 100% 浏览器内运行,不上传、不跟踪

使用方式

  1. 在顶部选择编码或解码模式。
  2. 编码查询参数值、路径片段、redirect_uri 等内容时开启组件模式;编码完整 URL 时关闭。
  3. 处理 application/x-www-form-urlencoded 数据时开启 + 空格选项。
  4. 在左侧粘贴文本,右侧实时复制转换结果。

常见问题

应该编码完整 URL 还是编码组件?

如果字符串已经是完整 URL,例如 https://example.com/path?a=1,使用完整 URL 模式。如果是即将放进 URL 的值,例如搜索词、redirect_uri、文件名或路径片段,使用组件模式。组件模式会编码 /、?、&、=、# 等保留字符,避免破坏外层 URL。

空格用 %20 和 + 有什么区别?

%20 是 URL 标准的空格百分号编码;+ 常见于 application/x-www-form-urlencoded,也就是 HTML 表单和查询字符串。本工具开启 + 空格后,编码时空格会变成 +,解码前 + 会先还原为空格。

为什么会出现 malformed URI 错误?

通常是输入里存在不完整的百分号序列,例如单独的 % 或被截断的 UTF-8 字节。请保留原始字符串完整性,或从源文本重新编码。

中文、日文和 emoji 能正确处理吗?

可以。浏览器 URL API 会把 Unicode 按 UTF-8 转成百分号序列,因此中文、日文、emoji、重音字符都可以无损往返。

相关工具

Canonical: https://devformatlab.com/zh/url-encoder