URL编码/解码
支持中文和特殊字符的百分号编码转换,提供encodeURI和encodeURIComponent两种方式
关于URL编码
URL编码(也称为百分号编码)是在统一资源标识符(URI)中对信息进行编码的机制。它通过将某些字符替换为以百分号“%”开头、后跟两个十六进制数字的三元组来表示,从而保证URL在传输过程中的安全性和兼容性。
当URL包含语法中具有特殊含义的字符,或包含在URL中不被允许的字符时,就需要进行URL编码。通过编码,可以确保URL在浏览器、服务器和各种网络组件之间可靠传输。
encodeURI(不编码特殊符号)
适用于对完整URL进行编码,不会对以下字符进行编码:: / ? # [ ] @ ! $ & ' ( ) * + , ; =。
适用场景:编码完整的URL地址,例如将一整条带有查询参数的URL进行编码。
encodeURIComponent(编码特殊符号)
会对几乎所有非字母数字字符进行编码,包括: / ? # [ ] @ ! $ & ' ( ) * + , ; =。
适用场景:编码URL参数值或查询字符串中的单个字段。
注意事项: URL的不同部分(协议、主机、路径、查询、片段)有不同的编码规则。同一字符串在不同位置可能需要不同的编码方式。本工具提供encodeURI和encodeURIComponent两种方式,方便根据实际场景选择合适的方法。
常见字符及其编码
| 字符 | URL编码 | 说明 |
|---|---|---|
| Space | %20 | 空格字符 |
| ! | %21 | 感叹号 |
| " | %22 | 引号 |
| # | %23 | 井号/片段标识符 |
| % | %25 | 百分号字符 |
| & | %26 | 与符号/查询分隔符 |
| + | %2B | 加号 |
| = | %3D | 等号/查询值分隔符 |
| ? | %3F | 问号/查询指示符 |
常见用途
- 编码Web表单中的查询参数
- 处理API请求中的特殊字符
- 处理URL中带有特殊字符的文件名
- 在URL中编码电子邮件地址和其他数据
- 调试Web应用程序和API调用
示例
示例1:查询参数
Original: Hello World!
Encoded: Hello%20World%21
示例2:电子邮件地址
Original: user@example.com
Encoded: user%40example.com
示例3:复杂查询
Original: search=JavaScript & Node.js
Encoded: search%3DJavaScript%20%26%20Node.js