URL 编码解码工具指南:为什么我们需要它?
URL 解码 与编码(统一资源定位符)在设计之初,规定只能包含 US-ASCII 字符集中的一个子集。如果您试图在网址中直接加入 中文字符、空格、特殊符号(如 & 和 ? 的非语法用途),浏览器可能会解析失败,甚至导致数据丢失。使用我们的 在线 URL 编解码工具 可以轻松解决这些问题。
百分号编码(Percent-encoding) 就是解决这一问题的桥梁。它将每一个非标准字符按照 UTF-8 编码转化为 %XX 格式。例如,“你好”在 URL 在线解码 之前经过编码会变为 %e4%bd%a0%e5%a5%bd。
1URL 编码 (encodeURI)
适用场景: 使用 url在线编码解码 工具处理一个完整的网址。
它会保留 URL 的结构字符。例如:它不会编码 : / ? # & = 等语法字符。它仅处理中文及空格等不可传输字符。
2URL 解码 (decodeURI)
适用场景: 在线 url 解码 处理作为“数值”传递的参数。
当您需要 urldecode在线解码 时,它会还原所有百分号编码的字符。这在提取 URL 参数中的完整链接时非常关键。
| 字符 | 描述 | 百分号编码 (Hex) | encodeURI 是否编码 | encodeURIComponent 是否编码 |
|---|---|---|---|---|
| 空格 (Space) | 间隔符号 | %20 | 是 | 是 |
| # | 锚点 (Fragment) | %23 | 否 | 是 |
| % | 百分号本身 | %25 | 是 | 是 |
| & | 参数连接符 | %26 | 否 | 是 |
| = | 键值赋值符 | %3D | 否 | 是 |
| ? | 查询字符串开头 | %3F | 否 | 是 |
| / | 路径分隔符 | %2F | 否 | 是 |
| : | 通信协议/端口分隔符 | %3A | 否 | 是 |
| + | 加号 (表单常代空格) | %2B | 否 | 是 |
常见问题 (FAQ)
1. 为什么解码时会提示 "URI malformed"?
2. encodeURI 与 encodeURIComponent 到底该如何正确选择?
3. URL 中的空格应该变成 %20 还是 + 号?
4. 为什么中文字符在 URL 中会变成 %E4%BD%A0%E5%A5%BD 这种格式?
5. 什么是 URL 参数自动拆解表(Query Params)?
6. URL 中的保留字符与未保留字符有哪些?
未保留字符 (Unreserved):A-Z, a-z, 0-9, -, _, ., ~,任何情况下都无需编码。
保留字符 (Reserved)::, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =,具有语法分隔含义,作为普通数据传递时必须编码。