URL 编码 / 解码

在线 URL 编码与解码(百分号编码),以 UTF-8 处理中文,空格可选择 %20(RFC 3986)或 +(表单格式)。

网址结构

项目 / 参数 值(已解码) 复制

URL 编码是什么?

网址只能使用有限的字符。中文、空格,以及 &、=、? 这类在网址中有特殊含义的符号,放进 URL 参数前必须先编码。URL 编码(也称百分号编码)会把字符转成 UTF-8 字节,再写成 % 加两位十六进制数字,例如“中”会变成 %E4%B8%AD。

如何使用

  1. 点击“编码”或“解码”选择方向,按下的按钮会高亮。
  2. 在左边输入内容。开启“自动转换”时,停止输入后会自动生成结果。
  3. 点击“结果放回输入”可以把结果移到左边,并自动切换成相反方向。

空格要编码成 %20 还是 +?

示例

a b&c=中文 编码后是:

a%20b%26c%3D%E4%B8%AD%E6%96%87

和 JavaScript encodeURIComponent 有什么不同?

结果大致相同,区别是本工具依照 RFC 3986 另外编码 !、'、(、)、* 五个字符,只保留英文字母、数字和 -、_、.、~,在各种服务器上都更不容易出错。

编码范围与网址解析

常见问题

可以把整个网址直接编码吗?

用默认的「参数值」编码整个网址,会把 ://、?、& 也一起编码,网址就无法使用。要处理整个网址时,请把「编码范围」改成「完整网址」,会保留网址结构,只编码网址不允许的字符;单独的参数值则用「参数值」。

解码时显示“不是有效的 URL 编码字符串”?

% 后面必须接两个十六进制字符(0–9、A–F)。如果内容本身就有 %(例如 100%),说明它没有被编码过,不需要解码。

结果出现 %2520 是什么意思?

说明内容被编码了两次:% 本身又被编码成 %25。把结果再解码一次就能还原。