🔗 URL 编解码
URL 编码与解码——在浏览器中即时完成
✓ 永久免费 · ✓ 无需注册 · ✓ 文件不上传 · ✓ 离线可用
🔒 你的数据绝不会离开你的设备。 所有处理都通过 encodeURIComponent / decodeURIComponent(单个值,RFC 3986);保留 URL 结构的完整 URL 模式;+ 表示空格(application/x-www-form-urlencoded) 在浏览器本地完成。无上传、无服务器、无追踪。
功能特点
- URL 编码 — 将特殊字符转换为 URL 安全的编码格式。
- URL 解码 — 将编码后的 URL 恢复为可读的原始文本。
- 即时转换 — 输入即转换,无需等待。
使用方法
- 选择操作 — 选择编码或解码模式。
- 输入内容 — 输入要编码的文本或要解码的 URL。
- 复制结果 — 复制转换后的结果。
使用场景
- 编码 URL 参数中的中文和特殊字符
- 解码浏览器地址栏中的编码 URL
- API 开发时处理 URL 参数编码
常见问题
编码和转义有什么区别?
URL 编码将字符转为 %XX 格式,确保 URL 中的特殊字符被正确传输。HTML 转义则是处理 HTML 中的特殊字符。
空格会被编码成什么?
默认是标准的 %20。勾选“+ 表示空格”后,编码时空格写成 +,解码时 + 读作空格——查询字符串和 HTML 表单(application/x-www-form-urlencoded)就是这样写的,比如 Google 的搜索链接。真正的加号永远是 %2B。完整 URL 模式下只有 ? 后面的部分这样处理,因为路径里的 + 就是加号。
能处理完整 URL 吗?
能。勾选“完整 URL”:编码时 : / ? # & = 以及地址里已有的 %XX 保持不动(不会变成 %2520 这种二次编码),只转义空格、中文、emoji 等字符;解码时转义的 & = ? # / 保持转义,地址的意思不变。不勾选时按单个值编码,比如要把一个 URL 放进另一个 URL 的 redirect= 参数里。
来自 Milo 🐨 的笔记
我在这里解码一个 Google 搜索链接,得到的是“café+crème”——+ 是搜索框和网页表单写空格的方式,而解码器把它当成加号留着,也没办法改。更糟的是,解码整个链接时,值里被转义的 & 会变成真正的 &,地址的意思就悄悄变了;编码整个链接时,连 : 和 / 都被转义,它干脆不再是一个链接。现在多了两个勾选项:“完整 URL”会保留地址的结构(已经存在的 %20 也不会被二次编码),“+ 表示空格”按表单的方式读写空格。如果页面发现了 + 号或一个完整链接,而你没有勾对应的选项,它会告诉你,并且一键改好。
我把一个带了多余“%”的链接粘进解码框,它只回了一句“URI malformed”——这是浏览器自己的英文报错,不管你用什么语言看这个页面都是这句,也不告诉你问题出在哪。现在它会用你的语言指出哪一段坏了、在第几个字符(比如“第 7 个字符处的 %2G 不是有效的转义”),浏览器的原话以小字留在下面,想看的人可以看。顺手改了几处:Base64 解码现在接受 URL 安全的写法(- 和 _),也不再要求补齐 =,所以 JWT 的一段可以直接解;如果 Base64 里其实是图片或文件而不是文字,会直接告诉你。HTML 解码认识所有命名实体( 、©、é)和像 😀 这样的表情,不会再变成错的字符。URL 编码现在也会转义 ! ' ( ) *——常见问题里一直是这么说的。
相关工具
- > 图片转 Base64 — 把图片转成 Base64 Data URI,或对文本做 Base64 编码 / 解码——还能把 Base64 还原成文件
- #️⃣ Hash 生成器 — 为文本或文件生成多种哈希值——完全在浏览器中完成
- { } JSON 格式化与美化 — JSON 格式化、压缩与验证——在浏览器中即时完成
💬 Bug、点子,或者就想打个招呼? 告诉 Milo 🐨 · [email protected]