🔗 URL 编码和解码器工具

将文本与URL编码格式(百分号编码)相互转换,支持高级选项和实时处理。

URL 编码工具

编码特殊字符以实现安全的URL传输,或将URL编码的字符串解码回可读文本。

📤 Input Text (0)
📥 Output Text (0)

🎯 什么是URL编码?

URL编码,也称为百分号编码,是一种在统一资源标识符(URI)中编码信息的机制。它通过用一个“%”后跟两个十六进制数字替换不安全的ASCII字符,将字符转换为可通过互联网传输的格式。

这种编码方法至关重要,因为URL只能包含ASCII字符集中的有限字符。任何超出此集合的字符,或在URL中具有特殊含义的字符,都必须进行编码以确保正确的传输和解释。

🔧 常见用例

查询参数安全地通过URL参数传递数据。
表单数据提交处理Web表单中的用户输入。
API请求格式化正确构建REST API调用。
文件名中的特殊字符为Web访问编码文件名。

📊 常见URL编码字符参考

字符描述URL编码
(space)空格%20 or +
!感叹号%21
"双引号%22
#井号%23
$美元符号%24
%百分号%25
&和号%26
'单引号%27
+加号%2B
,逗号%2C
/正斜杠%2F
:冒号%3A
;分号%3B
=等号%3D
?问号%3F
@艾特符号%40

❓ Frequently Asked Questions

什么是URL编码,为什么需要它?+

URL编码将字符转换为可通过互联网安全传输的格式。URL只能使用ASCII字符集发送,因此该集合之外的字符必须被编码。此外,某些ASCII字符在URL中具有特殊含义(如?、&、=),当作为数据而非语法使用时也必须编码。URL编码用%后跟代表字符ASCII码的两个十六进制数字替换这些字符。

空格使用 %20 和 + 有什么区别?+

虽然%20和+都可以在URL中代表空格,但它们的使用场景不同。+号用于查询字符串和表单数据(application/x-www-form-urlencoded),而%20是用于URL所有其他部分的标准百分号编码。现代应用通常为了统一性而使用%20。在URL的路径部分,只有%20是有效的,而在查询字符串中两者都可以接受,但%20更通用。

哪些字符需要进行URL编码?+

必须编码的字符包括:1) 具有特殊含义的保留字符(: / ? # [ ] @ ! $ & ' ( ) * + , ; =),2) 不安全的字符如空格、引号、<、>、#、%、{、}、|、\、^、~、[、]、`,以及 3) 非ASCII字符(如带重音的字母、汉字、表情符号等)。字母数字字符(A-Z, a-z, 0-9)和非保留字符(- _ . ~)通常不需要编码。

encodeURI() 和 encodeURIComponent() 有什么区别?+

encodeURI() 用于编码一个完整的URI,它不会编码在URI中有特殊含义的字符(如 :、/、?、&)。当你想要编码整个URL同时保留其结构时使用它。encodeURIComponent() 会编码除少数非保留字符(A-Z, a-z, 0-9, -, _, ., ~)外的所有字符,用于编码URI的独立部分,如查询参数。在大多数情况下,当你编码用户输入或要放入URL的数据时,encodeURIComponent()是更安全的选择。

URL编码如何处理Unicode和国际字符?+

URL编码通过先将Unicode字符以UTF-8格式编码,然后再对每个字节进行百分号编码来处理它们。例如,汉字“中”(U+4E2D)在UTF-8中编码为三个字节(E4 B8 AD),在URL编码中就变成 %E4%B8%AD。这确保了任何语言的任何字符都可以在URL中安全传输。