跳到主要内容

URL Encoding / Percent Encoding

💡 小贴士:URL 编码的核心是先将字符转换为 UTF-8 字节,再进行百分号编码。

快速字符串示例

点击下方示例快速体验不同类型的字符串编码

💡 提示:点击任意示例即可快速填入,支持中文、Unicode、Emoji 等多种字符类型

URL 编码与最佳实践

URL 编码 (URL Encoding),又称作 Percent Encoding,编码由 % 与两位十六进制组成,是用于 URL 中的编码机制。见 百分号编码。

未保留字符与编码规则

以下字符为未保留字符:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.~。建议所有的 URI 对未保留字符不加以百分号编码,其它字符建议先转换为 UTF-8 再逐字节使用百分号编码。

编码规则:1. 未保留字符保持不变 2. 其他字符先转换为 UTF-8 编码 3. 将 UTF-8 编码的每个字节转换为百分号编码。

转化过程

如「山月」:在 Unicode To UTF-8 中可知其 UTF-8 编码为 E5 B1 B1 E6 9C 88,对其分别添加百分号得 %E5%B1%B1%E6%9C%88。

相关工具

与 UTF-8 的联系

URL 编码与 UTF-8 密切相关。对非 ASCII 字符进行 URL 编码时:第一步将字符转换为 UTF-8 字节序列,第二步对每个 UTF-8 字节应用百分号编码。理解 UTF-8 有助于理解为什么 URL 编码会产生特定结果。

URL 编码最佳实践

  1. 始终编码用户输入
  2. 使用正确的编码函数(如 JavaScript 中 encodeURIComponent 与 encodeURI 有区别)
  3. 注意编码的范围
  4. 避免重复编码
  5. 考虑国际化
  6. 测试边界情况
  7. 遵循 RFC 3986