URL 编码与解码
把参数值转成可以安全放进查询字符串的形式,或者把满是 %E4%B8%AD 这类字符的链接还原成可读的中文。编码和解码都按 UTF-8 进行。
转换在浏览器中完成,粘贴的内容不会发送到任何地方。
你的文件和文本只在当前浏览器中处理,不会上传或保存到服务器。
使用方法
- 选择编码或解码。
- 选择单个参数值模式或完整 URL 模式。
- 粘贴文本;如果是一批链接,可以开启逐行处理。
- 复制结果。
功能与限制
- 参数值模式(encodeURIComponent)会连 & = ? / 一起编码,适合处理单个查询参数的值。
- 完整 URL 模式(encodeURI)保留 :、/、?、& 等 URL 结构字符,只编码空格和非 ASCII 字符(如中文)。
- 逐行模式会对每一行分别编码或解码。
- “空格转为 +”遵循 HTML 表单编码:编码时空格变成 +,解码时 + 变回空格。
- 解码失败时,会指出含有格式错误 % 序列的那一行。
常见问题
encodeURI 和 encodeURIComponent 有什么区别?
encodeURI 用于整个 URL,会保留 / ? & 等字符;encodeURIComponent 会把这些字符也编码,这样值里的 & 就不会被误认为是下一个参数的开始。
空格应该编码成 %20 还是 +?
URL 路径中用 %20。+ 是 HTML 表单数据(application/x-www-form-urlencoded)的写法,只有接收方要求这种格式时才使用。
提示 URI malformed 是什么意思?
某个 % 后面不是两位有效的十六进制数字,或者这些字节组不成有效的 UTF-8。工具会指出出问题的那一行。
URL 被编码了两次(出现 %2520)怎么办?
%25 是 % 本身编码后的结果,说明文本在已经含有百分号转义时又被编码了一次。再解码一次就能还原。