URL编码/解码

免费在线URL编码解码工具,支持URL encode和URL decode,支持中文等特殊字符的编码解码。

编码结果将显示在这里
解码结果将显示在这里
URL参数
生成的URL将显示在这里

工具介绍

了解URL编码解码工具的功能特点和使用方法

什么是URL编码?

URL编码(URL Encoding),也称为百分号编码(Percent-encoding),是一种将URL中的特殊字符转换为%加两位十六进制数的编码方式。URL只能使用ASCII字符集,因此URL中包含的非ASCII字符、特殊字符以及一些保留字符都需要进行编码才能安全传输。

为什么需要URL编码?

URL(统一资源定位符)是用于从互联网上获取资源的地址。URL只能使用ASCII字符集中的可打印字符,但是在实际使用中,URL常常需要包含非ASCII字符(如中文、日文等)以及一些特殊字符(如空格、&、=、?等)。这些字符在URL中有特殊含义或者不被允许直接使用,因此需要进行编码转换。

编码方式说明

1. encodeURIComponent:推荐使用的编码方式,会对URL中所有非字母数字字符进行编码,包括特殊字符和URL结构字符(如:/?#[]@!$&'()*+,;=)。适用于对URL参数值进行编码。

2. encodeURI:保留URL的结构字符(如:/?#[]@!$&'()*+,;=),只对其他非ASCII字符和特殊字符进行编码。适用于对整个URL进行编码,但前提是URL中没有需要保留的特殊字符。

3. escape:旧版的编码方式,已不推荐使用。它不会对ASCII字母数字进行编码,但是对Unicode字符的处理方式与其他两种不同,使用%uXXXX格式。主要用于兼容旧版浏览器。

功能特点

  • 双向转换:支持URL编码和解码双向转换,满足不同场景需求。
  • 多种编码方式:支持encodeURIComponent、encodeURI、escape三种编码方式,可根据需要选择。
  • URL参数构造:提供可视化的URL参数构造功能,方便快速构建带参数的URL。
  • 中文支持:完美支持中文等非ASCII字符的编码解码,准确可靠。
  • 本地计算:所有编码解码都在浏览器本地完成,数据不上传服务器,保护您的数据隐私安全。

应用场景

1. 网页开发:在前端开发中,对URL参数进行编码,确保URL的正确性和安全性。

2. 接口调试:在调试API接口时,对请求参数进行URL编码,确保参数正确传递。

3. SEO优化:处理包含中文的URL,进行编码以符合搜索引擎的要求。

4. 数据分析:对采集到的URL进行解码,获取原始的参数信息。

常见问题

关于URL编码解码工具的常见问题解答

encodeURI和encodeURIComponent有什么区别? +
主要区别在于编码的字符范围不同:encodeURI不会对URL的结构字符进行编码,如:/?#[]@!$&'()*+,;=等,适用于对整个URL进行编码;而encodeURIComponent会对所有非字母数字字符进行编码,包括URL结构字符,适用于对URL中的参数值进行编码。简单来说,如果要编码整个URL用encodeURI,如果只编码参数值用encodeURIComponent。
URL编码和Base64编码有什么区别? +
URL编码和Base64编码是两种完全不同的编码方式:1) 目的不同,URL编码是为了让URL能安全传输特殊字符,Base64是为了将二进制数据用文本方式表示;2) 编码方式不同,URL编码用%加两位十六进制数,Base64用64个可打印字符;3) 膨胀率不同,URL编码膨胀率约为3倍(一个中文变成9个字符),Base64膨胀率约为1.33倍;4) 应用场景不同,URL编码主要用于URL,Base64用途更广泛。
我的数据会被保存吗? +
不会。我们的URL编码解码工具完全在您的浏览器本地运行,所有编码解码都是在您的电脑上完成的,您输入的数据不会上传到任何服务器,充分保护您的数据隐私安全。
为什么URL中的空格有时候是+有时候是%20? +
这是历史遗留问题。在早期的HTML表单中,application/x-www-form-urlencoded格式规定将空格编码为+号;而URL标准(RFC 3986)规定空格应该编码为%20。两种方式都被广泛支持,但严格来说%20是标准的URL编码方式。本工具使用标准的%20编码方式。
URL编码后长度会增加多少? +
URL编码后,每个非ASCII字符会变成%XX的形式,即3个字符。对于中文来说,一个中文字符在UTF-8编码下占3个字节,URL编码后变成9个字符(%XX%XX%XX),长度变为原来的9倍。对于ASCII特殊字符,一个字符变成3个字符,长度变为原来的3倍。ASCII字母数字不会被编码,长度不变。