URL 为什么需要编码
百分号编码是什么以及何时需要
URL 的保留字符
/ 分隔路径,? 开始查询,= 分隔键值,& 分隔参数。数据中出现这些字符时可能被误解为 URL 结构。
百分号编码
将特殊字符替换为 % 加两位十六进制代码。
salt & pepper → salt%20%26%20pepper空格变为 %20,& 变为 %26,= 变为 %3D。
哪些字符需要编码?
RFC 3986 的非保留字符(字母、数字及 - _ . ~)始终安全。空格、保留字符以及 é、中文等非 ASCII 字符作为数据时必须编码。
encodeURI 与 encodeURIComponent
- encodeURI(): 编码完整 URL 并保留结构字符
- encodeURIComponent(): 编码单个参数值,也会转换
?、&和=
Votilo Tools 使用适合查询参数值的 encodeURIComponent。