您的位置:首页 > 编程语言 > Java开发

java处理url中的特殊字符%等

2017-10-18 19:37 274 查看

1. URL(Uniform Resoure Locator,统一资源定位器)是Internet中对资源进行统一定位和管理的标志。

一个完整的URL包括如下内容:

1. 应用协议名称,包括http,ftp,file等标志
2. 资源定位,是由(.)分割等网络路径
3. 端口号,按照规定,http应用端口是80,telnet协议应用端口是23。
4. 服务器中的文件路径
5. 文件中的编码位置
一个完整的URL如下: http://192.168.1.116:8080/page/ProtalJsp.action?id=3[/code] 

2. URL无法显示某些特殊符号,这个时候就要使用编码了。编码的格式为:一个百分号,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是”%20”。(ASCII参考)

有些字符在URL中具有特殊含义,基本编码规则如下:

特殊含义十六进制值
+表示空格(在 URL 中不能使用空格)%20
/ 分隔目录和子目录%2F
? 分隔实际的 URL 和参数%3F
% 指定特殊字符%25
表示书签%23
& URL 中指定的参数间的分隔符%26
= 等于号%3F
? 分隔实际的 URL 和参数%3D
java中URL 的编码和解码函数

java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);

在javascript 中URL 的编码和解码函数

escape(String s)和unescape(String s) ;

String strTest = "?=abc?中%1&2<3,4>";
strTest = URLEncoder.encode(strTest, "UTF-8");
System.out.println(strTest);
strTest = URLDecoder.decode(strTest,"UTF-8");
System.out.println(strTest);


执行结果:

%3F%3Dabc%3F%E4%B8%AD%251%262%3C3%2C4%3E

?=abc?中%1&2<3,4>

转载:http://blog.csdn.net/mr_linjw/article/details/50329715
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java