🔗 URL 编码和解码器工具
将文本与URL编码格式(百分号编码)相互转换,支持高级选项和实时处理。
URL 编码工具
编码特殊字符以实现安全的URL传输,或将URL编码的字符串解码回可读文本。
🎯 什么是URL编码?
URL编码,也称为百分号编码,是一种在统一资源标识符(URI)中编码信息的机制。它通过用一个“%”后跟两个十六进制数字替换不安全的ASCII字符,将字符转换为可通过互联网传输的格式。
这种编码方法至关重要,因为URL只能包含ASCII字符集中的有限字符。任何超出此集合的字符,或在URL中具有特殊含义的字符,都必须进行编码以确保正确的传输和解释。
🔧 常见用例
📊 常见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只能使用ASCII字符集发送,因此该集合之外的字符必须被编码。此外,某些ASCII字符在URL中具有特殊含义(如?、&、=),当作为数据而非语法使用时也必须编码。URL编码用%后跟代表字符ASCII码的两个十六进制数字替换这些字符。
虽然%20和+都可以在URL中代表空格,但它们的使用场景不同。+号用于查询字符串和表单数据(application/x-www-form-urlencoded),而%20是用于URL所有其他部分的标准百分号编码。现代应用通常为了统一性而使用%20。在URL的路径部分,只有%20是有效的,而在查询字符串中两者都可以接受,但%20更通用。
必须编码的字符包括:1) 具有特殊含义的保留字符(: / ? # [ ] @ ! $ & ' ( ) * + , ; =),2) 不安全的字符如空格、引号、<、>、#、%、{、}、|、\、^、~、[、]、`,以及 3) 非ASCII字符(如带重音的字母、汉字、表情符号等)。字母数字字符(A-Z, a-z, 0-9)和非保留字符(- _ . ~)通常不需要编码。
encodeURI() 用于编码一个完整的URI,它不会编码在URI中有特殊含义的字符(如 :、/、?、&)。当你想要编码整个URL同时保留其结构时使用它。encodeURIComponent() 会编码除少数非保留字符(A-Z, a-z, 0-9, -, _, ., ~)外的所有字符,用于编码URI的独立部分,如查询参数。在大多数情况下,当你编码用户输入或要放入URL的数据时,encodeURIComponent()是更安全的选择。
URL编码通过先将Unicode字符以UTF-8格式编码,然后再对每个字节进行百分号编码来处理它们。例如,汉字“中”(U+4E2D)在UTF-8中编码为三个字节(E4 B8 AD),在URL编码中就变成 %E4%B8%AD。这确保了任何语言的任何字符都可以在URL中安全传输。