浏览器url编码
1.将空格转换为加号(+)
2.对0-9、a-z、A-Z之间的字符保持不变
3.对于所有其他的字符,用这个字符的当前当前字符集编码在内存中的十六进制格式表示,并在每一个字节前加上一个百分号(%),如字符“+”是用%2B表示,字符“=”用%3D表示,字符“&”用%26表示,每个中文字符在内存中占两个字节,字符“中”用%D6%D0表示,字符“国”用%B9%FA表示。
4.空格也可以直接用其十六进制编码方式,即用%20表示,而不是将它转换为加号(+)
5、浏览器通常会对URL中的其他特殊字符,如空格(编码为%20
)、斜杠(编码为%2F
)、冒号(编码为%3A
)等进行编码,以确保URL的正确性和可传输性。但对于&
字符,通常不进行编码,因为它在URL中有特定的分隔作用。
6、浏览器通常不会对竖线字符(|
)进行编码,因为竖线在URL中通常被视为普通字符,而不是特殊字符。 URL编码主要用于将特殊字符转换为URL安全格式,以确保它们可以正确传输和解析,同时不干扰URL的结构
在使用url进行参数传递时,经常会传递一些中文名(或含有特殊字符)的参数或URL地址,在后台处理时会发生转换错误。这些特殊符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了
序号 | 特殊字符 | 含义 | 十六进制值 |
---|---|---|---|
1 | + | URL 中+号表示空格 | %2B |
2 | 空格 | URL中的空格可以用+号或者编码 | %20 |
3 | / | 分隔目录和子目录 | %2F |
4 | ? | 分隔实际的 URL 和参数 | %3F |
5 | % | 指定特殊字符 | %25 |
6 | # | 表示书签 | %23 |
7 | & | URL 中指定的参数间的分隔符 | %26 |
8 | = | URL 中指定参数的值 | %3D |