URL 编码/解码
转换器对字符串进行百分号编码或反向解码,自动处理保留字符与中文。适合拼接含特殊符号的查询参数、还原被编码的 URL 片段,避免问号、井号、空格与 & 符号破坏路由解析,前后端联调表单、搜索参数与回调地址时必备。
关于 URL 编码/解码
URL 编码解码工具遵循 RFC 3986 标准实现 URL 的百分号编码与解码双向转换。百分号编码将 URL 中不安全的字符(空格、中文、特殊符号等)转换为百分号加两位十六进制形式,使 URL 可以安全地包含任意 Unicode 字符。支持 encodeURIComponent(编码整个 URL 组件,编码更多保留字符如 & = ? #)和 encodeURI(编码完整 URL,保留冒号和斜杠等结构字符)两种模式。适用于构建查询参数、编码 API 请求路径和处理含中文的 URL。支持 Component 和 URI 两种编码模式切换,自动识别已编码字符串并提供解码结果预览。所有编码解码在浏览器本地完成,URL 字符串不会上传服务器,可放心处理含 token 和密钥的请求参数。
使用方法
- 打开 URL 编码/解码 工具页面
- 根据需求输入或粘贴数据到输入区域
- 查看实时处理结果,使用复制按钮获取输出
使用场景
- 查询参数构造 — 把用户输入(中文、特殊字符)拼接到 URL 时必须先编码,否则后端解析出错。
- 调试 GET 请求 — 从浏览器 Network 面板复制的 URL 编码后看不出原文,本工具可还原。
- 处理特殊文件名 — 上传带空格、中文的文件名时,HTTP 路径里需要编码后才能正确路由。
- OAuth 回调 URL — redirect_uri 参数本身是 URL,作为查询参数时需要二次编码。
- 邮件链接 — 在 mailto: 链接里塞预填的主题或正文,特殊字符必须 URL 编码。
常见问题
URL 编码和 HTML 实体编码有什么区别?
完全不同。URL 编码用 %XX 表示字节(如 空格 → %20),HTML 实体编码用 & 加名字(如 < → <)。前者用于 URL,后者用于 HTML 正文。
为什么空格有时编码成 +,有时是 %20?
application/x-www-form-urlencoded(表单提交)用 + 表示空格,URL 路径和大多数现代场景用 %20。本工具默认 %20。
需要编码哪些字符?
RFC 3986 定义的"非保留字符"(A-Z、a-z、0-9、- _ . ~)不用编码,其他都建议编码。但 ?#&= 在不同位置含义不同——查询参数里要编码,作为分隔符不要。
编码两次会怎样?
会出现 %25XX 这种"编码的百分号",解码一次只解一层。这是后端最常见的 bug——确认前端编码一次即可,别叠加。
URL 里能直接放中文吗?
现代浏览器地址栏显示中文,但底层会自动编码为 UTF-8 字节再 %XX。在代码里手动构造 URL 时仍需主动编码。
有浏览器兼容性要求吗?
本工具兼容所有现代浏览器(Chrome、Firefox、Edge、Safari),无需安装任何插件或扩展。
可以离线使用吗?
首次加载后,部分功能在离线状态下仍可使用。页面资源加载后,核心逻辑完全在浏览器本地运行,不依赖网络。
评论与讨论
评论仅保存在你的浏览器本地,切换设备后不可见。配置 Giscus 后可支持云端评论。