数据安全提示: 所有文本数据均在您的浏览器本地处理,不会上传到服务器。
URL编码/解码工具
JavaScript原生支持
编码标准:
encodeURIComponent
encodeURI
escape (旧)
当前操作:单行文本 → URL编码 (encodeURIComponent)
输入文本
字符数: 0
批量输入(每行一个)
批量转换结果将显示在这里...
行数: 0
转换结果
转换结果将显示在这里...
等待输入...
长度: 0
使用示例
"hello world" → URL编码
hello%20world
"测试数据?key=value&id=123" → URL编码
%E6%B5%8B%E8%AF%95%E6%95%B0%E6%8D%AE%3Fkey%3Dvalue%26id%3D123
"hello%20world%21%3Fkey%3Dvalue%26id%3D123" → 解码
hello world!?key=value&id=123
"https://example.com/search?q=测试&lang=zh" → URL编码
https://example.com/search?q=%E6%B5%8B%E8%AF%95&lang=zh
URL编码算法原理
不同编码标准对比
| 方法 | 编码范围 | 保留字符 | 使用场景 |
|---|---|---|---|
| encodeURIComponent | 除字母、数字、- _ . ! ~ * ' ( )外所有字符 | - _ . ! ~ * ' ( ) | 编码URI参数值 |
| encodeURI | 除完整URI结构字符外所有字符 | 字母、数字、- _ . ! ~ * ' ( ) ; , / ? : @ & = + $ # | 编码整个URI |
| escape | 除字母、数字、* @ - _ + . /外所有字符 | * @ - _ + . / | 旧版编码,不推荐使用 |
JavaScript中的URL编码方法
// encodeURIComponent - 编码整个URI组件
const encodedComponent = encodeURIComponent('测试?param=value&id=1');
// 结果: "%E6%B5%8B%E8%AF%95%3Fparam%3Dvalue%26id%3D1"
// encodeURI - 编码整个URI
const encodedURI = encodeURI('https://example.com/测试?param=value&id=1');
// 结果: "https://example.com/%E6%B5%8B%E8%AF%95?param=value&id=1"
const encodedComponent = encodeURIComponent('测试?param=value&id=1');
// 结果: "%E6%B5%8B%E8%AF%95%3Fparam%3Dvalue%26id%3D1"
// encodeURI - 编码整个URI
const encodedURI = encodeURI('https://example.com/测试?param=value&id=1');
// 结果: "https://example.com/%E6%B5%8B%E8%AF%95?param=value&id=1"
编码过程示例 ("中")
| 字符 | Unicode | UTF-8字节 | 十六进制 | URL编码 |
|---|---|---|---|---|
| 中 | U+4E2D | 11100100 10111000 10101101 | E4 B8 AD | %E4%B8%AD |
| 文 | U+6587 | 11100110 10010110 10000111 | E6 96 87 | %E6%96%87 |
| 空格 | U+0020 | 00100000 | 20 | %20 |
| ? | U+003F | 00111111 | 3F | %3F |
常见保留字符编码
空格 %20
! %21
# %23
$ %24
% %25
& %26
' %27
( %28
) %29
* %2A
+ %2B
, %2C
/ %2F
: %3A
; %3B
= %3D
? %3F
@ %40
[ %5B
] %5D
URL编码应用场景
URL参数传递
URL编码确保特殊字符(如?、&、=、空格等)在URL参数中正确传递,避免解析错误。
AJAX请求
JavaScript AJAX请求中手动对参数进行URL编码,确保数据正确传输到服务器。
表单数据提交
HTML表单通过GET方法提交时,浏览器自动对表单数据进行URL编码。
Cookie存储
Cookie值中如果包含特殊字符,需要进行URL编码才能正确存储和读取。
社交媒体分享
生成分享链接时对标题、描述等参数进行URL编码,确保分享内容完整。
快速提示
- 本地处理,数据安全
- 编码标准可选
- 支持批量处理
- 一键复制结果
- Ctrl+Enter快速转换
技术信息
标准版本:RFC 3986
编码方式:百分号编码
字符编码:UTF-8
保留字符:18个
实现:JavaScript原生