-
为什么要有转义的功能?
- 一些特殊字符需要转义,才能被访问,否则变为空格
-
UrlEnCode与UrlDeCode
- 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。
-
列出了一些URL特殊符号及编码:
-
:
替换为%3A
-
+
URL 中+号表示空格%2B
-
空格
URL中的空格可以用+
号或者编码%20
-
/
分隔目录和子目录%2F
-
?
分隔实际的 URL 和参数%3F
-
%
指定特殊字符%25
-
#
表示书签%23
-
&
URL 中指定的参数间的分隔符%26
-
=
URL 中指定参数的值%3D
-
示例:
import java.net.URLDecoder;
import java.net.URLEncoder;
public class TestHttpUrl {
public static void main(String[] args) {
String userName = "123456+789";
// 编码(转义)
String userNameEncode = URLEncoder.encode(userName);
// 解码
String userNameDecode = URLDecoder.decode(userNameEncode);
System.out.println("userNameEncode="+userNameEncode);
System.out.println("userNameDecode="+userNameDecode);
}
}