Start 提交收录

URL 编解码器

开发者工具

把文本做百分号编码用于 URL,或把编码后的字符串还原成可读文本,可区分整条网址与单个查询参数值。

计算结果

结果 —
  • 输入字符数 —
  • 输出字符数 —
  • 输出字节数 — B

修改任意输入,结果即时更新。

公式与规则

  • 百分号编码把允许字符集之外的每个字节写成百分号加两位十六进制。
  • 空格变成 %20,斜杠变成 %2F,与号变成 %26——最后一个尤其关键,因为 & 是查询参数的分隔符。
  • encodeURI 会保留 : / ? # & =,从而保住链接结构;encodeURIComponent 则会把它们逐一转义。
  • 解码把每个 %XX 还原成原始 UTF-8 字节,因此中文会恢复成原生字符。

实际示例

作为查询参数值

输入 a b&c,使用参数值模式。

结果 得到 a%20b%26c,& 被转义,不会被当成第二个参数。

同一段文本按整条网址处理

输入 a b&c,使用整条网址模式。

结果 得到 a%20b&c,空格依然转义,而 & 作为分隔符被保留。

解码中文

输入 %E4%BD%A0%E5%A5%BD

结果 还原为「你好」——每个汉字的三字节 UTF-8 编码对应三个 %XX,解码后复原。

常见问题

什么时候该用 encodeURIComponent 而不是 encodeURI?

凡是放在 ? 或 & 之后的值都用 encodeURIComponent,否则值里的 & 或 = 会把查询串切断。只有分隔符已经正确的完整链接才用 encodeURI。

为什么空格有时是 + 而不是 %20?

加号属于 application/x-www-form-urlencoded 表单编码的约定,在那里它代表空格;JavaScript 的 URL 函数则统一写 %20。本工具解码时会把 + 当作空格,编码时一律输出 %20,避免两套约定冲突。

为什么链接里会出现 %25?

%25 是被转义的百分号,说明同一段文本编码了两次。应在值插入时编码一次,拼接最终链接时不要再编码。

遇到不完整的 % 序列会怎样?

会解码失败,因为 % 后面必须紧跟两位十六进制。本工具会明确提示,而不是悄悄丢字符。

免责声明: 结果按页面所列公式计算,仅作参考;实际用量会受材料品牌、施工方式与环境影响,下单前建议预留余量。