C# url转义字符

在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

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


 

      

 

转载于:https://www.cnblogs.com/SkyflyBird/p/5031157.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值