URL编解码
URL编码/解码,支持encodeURIComponent等多种模式
纯浏览器处理,数据不经过服务器
输入
0 字符输出
什么是 URL 编码?
URL 编码(Percent-encoding)是将 URL 中的特殊字符和非 ASCII 字符转换为 %XX 格式的过程。URL 标准仅允许有限的字符集,空格、中文、特殊符号等都需要编码后才能在 URL 中安全传输。例如空格编码为 %20,中文"你"编码为 %E4%BD%A0。
编码方法对照
| 方法 | 编码范围 | 适用场景 |
|---|---|---|
| encodeURIComponent | 所有特殊字符(除 A-Z a-z 0-9 - _ . ! ~ * ' ( )) | URL 参数值、查询字符串 |
| encodeURI | 保留 URL 结构字符(: / ? # [ ] 等不编码) | 完整 URL 地址编码 |
| decodeURIComponent | 解码 %XX 格式为原始字符 | 还原 URL 参数值 |
常见问题
encodeURIComponent 和 encodeURI 有什么区别?
encodeURIComponent 编码所有特殊字符,适合编码 URL 参数值;encodeURI 保留 URL 结构字符(如 :/?#)不编码,适合编码完整 URL 地址。
为什么中文在 URL 中会变成 %E4%BD%A0?
中文字符先按 UTF-8 编码为字节序列("你"→ E4 BD A0),再每个字节加 % 前缀,这就是 Percent-encoding 的工作原理。
URL 编码后长度会增加多少?
ASCII 特殊字符编码后变为 3 倍(如空格→ %20),中文字符每个变为 9 个字符(3 个字节 × %XX)。具体增长取决于原始文本中的特殊字符比例。