在线 URL 编码 — encodeURIComponent
把文本变成可安全放进网址的形式:空格、中文、符号会变成 `%XX`。做查询参数、拼接回调地址、调试「一贴就坏」的链接时常用。默认按 `encodeURIComponent` 规则,适合编码「单个参数值」;整段 URL 有自己的编码边界,请看页面说明选择模式。
浏览器地址栏里看到的 `%E4%BD%A0%E5%A5%BD` 就是「你好」的百分号编码。不编码就塞进 `?name=张三`,服务端或中间层可能截断或乱码。
`encodeURIComponent` 会编码得比较「狠」,适合参数值;若你编码整页 URL,过度编码可能把 `://` 也破坏掉,需改用更适合整 URL 的模式(若页面提供)。
编码与解码成对出现:发出去前编码,调试时再解码核对。
如何编码
- 粘贴要放进 URL 的文本
- 确认模式(默认适合参数值)
- 复制编码结果到地址中
什么时候打开编码页
- 手工拼查询字符串,怕中文或空格出事。
- OAuth/回调 URL 要求参数先编码。
- 对比文档与实际请求是否一致。
场景
- 搜索词、昵称放进 `?q=`
- 把含空格的文件名放进下载链接参数
- 调试 API 文档中的示例 URL
提示
- 只编码参数值,不要把整个已编码链接反复编码多次。
- 空格一般是 `%20`;有的表单习惯 `+`,取决于规范。
- 不确定时先编码,再在解码页还原核对。
例子
| 输入 | 输出 | 说明 |
|---|---|---|
| 你好 | %E4%BD%A0%E5%A5%BD | UTF-8 |
| a b | a%20b | 空格 |
| a=1&b=2 | a%3D1%26b%3D2 | 作单个参数值时 |
URL 编码常见问题
- 和 Base64 有何不同?
- 用途不同:URL 编码服务网址安全;Base64 常用于嵌入二进制或令牌片段。
- 编码两次会怎样?
- 会出现 `%25` 这种「百分号再被编码」。一般只编码一次。
- 路径和查询都要编码吗?
- 各自按规范处理。参数值用本页默认规则最常见。