URL 编码(百分号编码)原理
把非 ASCII 与安全字符以外的字符转成 %XX 形式(XX 为 UTF-8 字节的十六进制)
解码则反向还原
这个工具能做什么
- 对 URL / 查询参数做编码与解码
- 处理中文与特殊字符
- 本地运行,不上传
怎么使用(输入说明)
- 输入文本:填要编码的内容。
- 编码/解码:选方向,得到结果。
什么时候需要 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,中文尤其明显;这是标准行为,解码可完整还原。