URL 编码解码

整条链接 / 参数组件 · 编码 ⇄ 解码 · 中文按 UTF-8 转义 · 本地完成
纯本地处理 · 链接不上传 四色笔记 ↗

转换

原文 0 字符
编码结果 0 字符

URL 编码解码使用指南

URL 编码怎么做:%XX 是怎么算出来的

encodeURI 与 encodeURIComponent:整条链接和参数值的区别

中文 URL 编码对照:%E4%B8%AD 为什么是「中」

URL 解码失败:%zz、结尾的 % 与非法 UTF-8 序列

关于这个 URL 编码解码工具

这是一份把链接与参数值互相转换的工具:粘贴内容即出结果,不需要点按钮。它提供两种范围——整体 URL 用 encodeURI,保留 : / ? & = # 等结构字符,适合整条链接;参数组件 用 encodeURIComponent,除字母数字与 - _ . ! ~ * ' ( ) 外全部转义,适合单个参数值或整串查询参数。把整条链接塞进参数值时,请先用参数组件模式编码再拼接。

中文、Emoji 与其他非 ASCII 字符一律按 UTF-8 逐字节转成 %XX:例如「中文」编码为 %E4%B8%AD%E6%96%87,解码时同样按 UTF-8 还原,不会出现乱码。解码遇到问题时,提示会指出问题出在第几个字符:%zz、结尾多出的 %,或 %XX 组合不是合法的 UTF-8 字节序列——提示只说明原因,不会改写或清空你的输入。

需要说明的是:整体 URL 模式遵循 decodeURI 的标准行为,不会解码保留字符的转义(如 %23、%2F),以免破坏 URL 结构;需要还原这些字符时请切到参数组件模式。结果可以一键复制或回填到输入框继续处理,编码与解码全部在浏览器本地完成,页面不发出任何携带内容的网络请求。

常见问题

整体 URL 编码和参数组件编码有什么区别?

参数组件模式用 encodeURIComponent,除字母数字与 - _ . ! ~ * ' ( ) 外全部转义,适合单个参数值或整串查询参数;整体 URL 模式用 encodeURI,会保留 : / ? & = # 等结构字符,适合整条链接。把整条链接塞进参数值时,请先用参数组件模式编码再拼接。

中文和特殊字符会被编码成什么?

中文按 UTF-8 逐字节转成 %XX:例如「中文」编码为 %E4%B8%AD%E6%96%87。解码时同样按 UTF-8 还原,不会出现乱码。

解码失败会提示什么?

会指出问题出在第几个字符:% 后面不是两位十六进制(例如 %zz,或结尾多出一个 %),或者 %XX 组合不是合法的 UTF-8 字节序列。提示只说明原因和位置,不会改写或清空你的输入。

整体 URL 模式为什么没有解码 %23、%2F?

这是 encodeURI / decodeURI 的标准行为:保留字符(# / ? : 等)的转义不会被整体解码,以免破坏 URL 结构。需要把它们还原成字符时,请切到参数组件模式。

输入的 URL 会被上传吗?

不会。编码与解码全部由页面内的 JavaScript 完成,页面不发出任何携带内容的网络请求,也不记录用户输入的链接。