跳到正文

在线 URL 编码 — encodeURIComponent

把文本变成可安全放进网址的形式:空格、中文、符号会变成 `%XX`。做查询参数、拼接回调地址、调试「一贴就坏」的链接时常用。默认按 `encodeURIComponent` 规则,适合编码「单个参数值」;整段 URL 有自己的编码边界,请看页面说明选择模式。

URL Decode

浏览器地址栏里看到的 `%E4%BD%A0%E5%A5%BD` 就是「你好」的百分号编码。不编码就塞进 `?name=张三`,服务端或中间层可能截断或乱码。

`encodeURIComponent` 会编码得比较「狠」,适合参数值;若你编码整页 URL,过度编码可能把 `://` 也破坏掉,需改用更适合整 URL 的模式(若页面提供)。

编码与解码成对出现:发出去前编码,调试时再解码核对。

如何编码

  1. 粘贴要放进 URL 的文本
  2. 确认模式(默认适合参数值)
  3. 复制编码结果到地址中

什么时候打开编码页

  • 手工拼查询字符串,怕中文或空格出事。
  • OAuth/回调 URL 要求参数先编码。
  • 对比文档与实际请求是否一致。

场景

  • 搜索词、昵称放进 `?q=`
  • 把含空格的文件名放进下载链接参数
  • 调试 API 文档中的示例 URL

提示

  • 只编码参数值,不要把整个已编码链接反复编码多次。
  • 空格一般是 `%20`;有的表单习惯 `+`,取决于规范。
  • 不确定时先编码,再在解码页还原核对。

例子

输入输出说明
你好%E4%BD%A0%E5%A5%BDUTF-8
a ba%20b空格
a=1&b=2a%3D1%26b%3D2作单个参数值时

URL 编码常见问题

和 Base64 有何不同?
用途不同:URL 编码服务网址安全;Base64 常用于嵌入二进制或令牌片段。
编码两次会怎样?
会出现 `%25` 这种「百分号再被编码」。一般只编码一次。
路径和查询都要编码吗?
各自按规范处理。参数值用本页默认规则最常见。

相关工具