- 为什么要有转义的功能?
- 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);
}
}