URL编解码
URL编码/解码,处理特殊字符和中文等非ASCII字符
处理参数
URL编码简介
URL编码是一种将URL中的特殊字符转换为可安全传输的格式的方法。它将非ASCII字符和特殊字符转换为%加上两位十六进制数的形式。
编码规则
- 保留字符(如字母、数字、-_.~)保持不变
- 特殊字符(如空格、&、=、?等)转换为%加上两位十六进制数
- 非ASCII字符(如中文)先转换为UTF-8编码,再转换为%加上两位十六进制数
常见用途
- URL参数传递
- 表单提交
- API请求
- 文件下载链接
代码示例
JavaScript:
// 编码 const str = 'https://example.com/path?name=测试&type=1'; const encoded = encodeURIComponent(str); console.log(encoded); // 解码 const decoded = decodeURIComponent(encoded); console.log(decoded);
Python:
from urllib.parse import quote, unquote # 编码 str = 'https://example.com/path?name=测试&type=1' encoded = quote(str) print(encoded) # 解码 decoded = unquote(encoded) print(decoded)
注意事项
- URL编码不是加密,仅用于字符转义
- 编码后的URL长度会增加
- 某些特殊字符可能需要多次编码