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

来源:互联网 发布:js plumb 编辑:程序博客网 时间:2024/06/13 08:37

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

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

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

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

原创粉丝点击