跳到主要内容

URL 编解码

URL 编码与解码

结果
结果会显示在这里

所有编解码都在本地浏览器完成,不上传任何数据。

URL 编码(百分号编码)原理

把非 ASCII 与安全字符以外的字符转成 %XX 形式(XX 为 UTF-8 字节的十六进制)

解码则反向还原

这个工具能做什么

  • 对 URL / 查询参数做编码与解码
  • 处理中文与特殊字符
  • 本地运行,不上传

怎么使用(输入说明)

  1. 输入文本:填要编码的内容。
  2. 编码/解码:选方向,得到结果。

什么时候需要 URL 编码

当 URL 中含中文、空格、& = ? 等保留字时,必须编码否则会被误解析;例如空格编码为 %20,中文按 UTF-8 逐字节编码。

计算实例

例:“你好 world” 编码为 “%E4%BD%A0%E5%A5%BD%20world”。

常见问题 FAQ

Q:encodeURIComponent 和 encodeURI 有什么区别?

A:encodeURIComponent 会编码几乎所有非字母数字字符(包括 : / ? & = + @ 等),适合编码「参数值」;encodeURI 会保留这些 URL 结构字符,适合编码「整条 URL」。绝大多数接口参数场景用 encodeURIComponent。

Q:为什么中文在网址里会变成 %E4%B8%AD 这样的串?

A:这是 URL 编码(百分号编码)的结果。URL 标准只允许 ASCII 字符,非 ASCII(如中文)会被按 UTF-8 逐字节转成 %XX 形式。解码后就能还原成原来的中文。

Q:编码后链接变长很多正常吗?

A:正常。每个非 ASCII 字符按 UTF-8 拆成多字节,每字节变 %XX,中文尤其明显;这是标准行为,解码可完整还原。

常见问题

encodeURIComponent 和 encodeURI 有什么区别?
encodeURIComponent 会编码几乎所有非字母数字字符(包括 : / ? & = + @ 等),适合编码「参数值」;encodeURI 会保留这些 URL 结构字符,适合编码「整条 URL」。绝大多数接口参数场景用 encodeURIComponent。
为什么中文在网址里会变成 %E4%B8%AD 这样的串?
这是 URL 编码(百分号编码)的结果。URL 标准只允许 ASCII 字符,非 ASCII(如中文)会被按 UTF-8 逐字节转成 %XX 形式。解码后就能还原成原来的中文。