内容纲要
URL 编码字符总结及分类
在日常开发中,尤其是与网络和Web开发相关的工作时,URL编码字符是常见的技术点之一。URL编码通常用于将特殊字符转换为允许出现在URL中的格式。这些编码字符以百分号 %
开头,后面跟随两位16进制数,表示特定字符。本文将对常见的编码字符进行分类,并按照常使用到不常使用的频率进行排序,方便开发者快速查找和了解。
1. 常见的URL编码字符(高频使用)
这些字符几乎出现在所有的Web请求中,因为它们是URL中的常见字符或在某些特殊场景下需要被编码。
编码 | 对应字符 | 使用场景 |
---|---|---|
%20 |
空格 (Space) | URL中不允许使用空格,需要使用%20 编码。常用于传递参数、搜索查询。 |
%2F |
/ (Slash) |
URL路径分隔符。当需要在路径中保留/ 的原意时需要编码,比如API传递路径参数时。 |
%3A |
: (Colon) |
用于分隔协议名称与资源路径,如https:// 。 |
%3F |
? (Question Mark) |
表示URL中的查询字符串起始符号。通常用于传递请求参数。 |
%26 |
& (Ampersand) |
用于分隔多个查询参数。 |
%3D |
= (Equals) |
表示查询参数的键值对的赋值。 |
%25 |
% (Percent Sign) |
本身是URL编码的前缀字符,如果百分号需要出现在URL中则必须进行编码。 |
2. 中频使用的URL编码字符
这些编码字符在某些特定的Web场景中比较常见,比如安全需求、特定的API调用等。
编码 | 对应字符 | 使用场景 |
---|---|---|
%40 |
@ (At Sign) |
常用于电子邮件地址,例如mailto: 或用于分隔用户名与域名。 |
%2B |
+ (Plus) |
空格的替代形式,尤其在表单编码时会将空格转换为加号。 |
%23 |
# (Hash) |
URL中的锚点符号,用于定位页面中的某一部分。 |
%2C |
, (Comma) |
在某些API中用于分隔列表项。 |
%7C |
| (Vertical Bar) |
在构建复杂查询时偶尔使用,尤其是在使用多个条件的查询语句时。 |
%22 |
" (Double Quote) |
URL中不允许直接使用引号,编码后可以传递字符串内容。 |
3. 低频使用的URL编码字符
这些字符很少见,通常只有在特定需求下才会使用,比如确保传递内容的完整性或避免特殊字符冲突。
编码 | 对应字符 | 使用场景 |
---|---|---|
%27 |
' (Single Quote) |
可能在传递JSON或字符串时需要编码,避免冲突。 |
%3B |
; (Semicolon) |
较少用于Web URL的查询参数,偶尔用于某些特定的API设计。 |
%28 |
( (Left Parenthesis) |
用于传递带括号的参数内容。 |
%29 |
) (Right Parenthesis) |
与左括号搭配使用。 |
%2D |
- (Hyphen) |
虽然通常不需要编码,但在某些严格要求下可能会使用。 |
%2E |
. (Dot) |
多用于传递文件扩展名或分隔版本号。 |
%5F |
_ (Underscore) |
URL中的下划线符号,通常在路径或参数中表示名称。 |
4. 极少使用的URL编码字符
这些字符几乎不在常规开发中出现,主要是一些特殊字符,或在一些极为严格的场景下需要编码的符号。
编码 | 对应字符 | 使用场景 |
---|---|---|
%5B |
[ (Left Square Bracket) |
较少用在URL中,可能用于特定符号传递。 |
%5D |
] (Right Square Bracket) |
与左方括号成对出现。 |
%7B |
{ (Left Curly Bracket) |
偶尔用于表示代码块的边界。 |
%7D |
} (Right Curly Bracket) |
与左大括号配对使用。 |
%7E |
~ (Tilde) |
较为罕见,偶尔用于路径中表示“用户目录”。 |
%60 |
` `` (Backtick) |
较为罕见,可能会出现在极少数情况下的特殊字符传递。 |
5. 总结
URL编码字符的使用频率从高到低依次递减,一些像 %20
(空格)、%2F
(斜杠)、%3A
(冒号)等是我们几乎每天都要接触的。而某些不常见字符,虽然在开发中可能用不到,但理解这些编码的用途可以帮助开发者在复杂场景下避免错误。
建议:在编写需要涉及URL的代码时,务必使用适当的编码工具或框架函数来处理这些字符,避免直接操作URL字符以确保安全性和兼容性。