码迷,mamicode.com
首页 > Windows程序 > 详细

C# url转义字符

时间:2015-12-08 23:50:41      阅读:374      评论:0      收藏:0      [点我收藏+]

标签:

在web开发中通过(?)方式在浏览器地址栏传值时,浏览器是通过“&”来区分参数个数及取值的,比如:

http://localhost/default.aspx?param1=10&5 &param2=20

假如说,我想取值param1中的10和5,然而因为&这个转义字符的存在,会导致参数接受错误。

 

针对于转义字符,可以这样理解:

1. 它是一种特殊的字符常量,一般是用‘\‘加数字(8进制)来表示;

2. 它主要用于表示一般字符不便于表示的控制代码,且用于消除紧随其后的字符的原有含义

3. 用可以看见的字符表示不可见的字符,比如‘\n‘


举一个这样的例子,我想实现一个这样的数据:

"phoneNum":"123456", "Name":"you"

编码如下:

\"phoneNum\":\"123456\", \"Name\":\"you\"

同样的,我可以再举一个这样的例子,在java中,我想讲上述例子的数据中的‘\‘去掉,代码实现如下:

String str = new String("\"phoneNum\":\"123456\", \"Name\":\"you\"");

String newStr = new String(str.replaceAll("\\\\",""));

其原因就是:在java中,‘\‘表示一个转义字符,所以‘\\‘代表‘\‘,而‘\‘正则表达式中的转义字符(replaceAll 两个的参数都是符合正则表达式规则),所以:‘\\\\‘被java转换成 ‘\\‘ , ‘\\‘又被正则表达式转换成 ‘\‘。

 

下面是一些URL特殊字符及编码:

+     url中+表示空格        %2B

/      分割目录和子目录      %20

?      分割实际的url和参数          %3F

%            指定特殊字符                   %25

#             表示书签                         %23

&             url中指定的参数的分隔符     %26

=             url指定参数的值                %3D

想查看其它的,请参考:   http://blog.csdn.net/sunhuwh/article/details/41809909

 

针对于以上数据,比如我想发送这样的数据:

http://localhost/default.aspx?name=wang&num=10

转换如下:

http://localhost/default.aspx%3fname%3dwang%26num%3d10

假如你在网上看到类似的网址,再想想转义字符时,好像也不足为怪了。


 

      

 

C# url转义字符

标签:

原文地址:http://www.cnblogs.com/SkyflyBird/p/5031157.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!