URL 高级编解码
支持 URI / Component / Form / Query 多种模式。
🔤 URL Advanced Encode/Decode
Encode or decode URLs and query strings with advanced handling for special characters.
📐 工作原理与说明
URL 百分号编码与解码。
- 规则:除 unreserved 字符(A-Za-z0-9 与
- _ . ~)外,其余字节编码为%HH。 - 两个函数:
encodeURI保留 URL 结构字符(: / ? #),encodeURIComponent对全部保留字符编码,适用于参数值。 - 空格:路径中应为
%20;表单编码(application/x-www-form-urlencoded)中可写作+。 - 中文:必须先按 UTF-8 取字节,再逐字节做百分号编码。
📖 模式说明
encodeURIComponent: 编码所有特殊字符(除 A-Za-z0-9-_.!~*'())
encodeURI: 保留 URL 结构字符 (:/?#[]@!$&'()*+,;=)
Form: 表单提交,空格 → +
Query: 与 Form 类似,用于查询字符串
📚 深度解析:URL 高级编解码
💡 常见使用场景
- 需要控制编码字符集(如保留 / 或 :)时做精细化编码。
- 生成签名或回调地址时需要精确控制编码范围:保留 / 与 : 而只编码参数值,避免因编码不一致导致签名校验失败。
编码保留斜杠
输入 `a/b` 选择“编码所有非安全字符”→ 输出 `a%2Fb`;选择保留路径分隔符则保持 `a/b`。
❓ 常见问题(FAQ)
- 什么时候要保留斜杠?
- 编码路径段时通常保留 /,编码查询值时应编码 /。
- 为什么两次编码结果不同?
- 因为 encodeURI 与 encodeURIComponent 的编码范围不同:前者保留 URL 结构字符(: / ? # 等),用于编码整个 URL;后者连这些也编码,用于编码参数值。混用会导致签名不一致或解析错误。规则很简单:编码「整个 URL」用前者,编码「参数值」用后者。
⚠️ 使用说明与注意事项
- 本工具纯前端运行,数据不会上传到服务器
- 建议在主流浏览器(Chrome/Safari/Firefox/Edge)中使用
- 计算结果仅供参考,请以实际应用场景为准
▼
工具简介
URL 高级编解码。专为开发者打造的在线工具,纯前端运行,代码不离开浏览器。