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

/**      * 校验特殊字符      * @param str      * @return      */     private static boolean isConSpeChar(String str) {                 String regEx = "[`~!@#$%^&*()+=|{}':;'\\[\\]<>/~!@#¥%……&*——+|{}【】‘;:”“’。,、?]";



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

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

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

特殊含义                                                            十六进制值

1.+ 表示空格(在 URL 中不能使用空格)           %20

2./ 分隔目录和子目录                                     %2F

3.? 分隔实际的 URL 和参数                             %3F

4.% 指定特殊字符                                         %25

5.# 表示书签                                               %23

6.& URL 中指定的参数间的分隔符                     %26

7.= 等于号                                                  %3D

java中URL 的编码和解码函数

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

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

escape(String s)和unescape(String s) ;+ (NSString *)URLEncodedString:(NSString *)str{ NSString *encodedString = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,

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>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值