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

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

      

时间: 2024-12-25 18:47:35

C# url转义字符的相关文章

URL转义字符

[URL转义字符] 参考:http://www.cnblogs.com/jiunadianshi/articles/2353968.html

http url转义字符,特殊字符

空格 - %20 " - %22 # - %23 % - %25 & - %26 ( - %28 ) - %29 + - %2B , - %2C / - %2F : - %3A ; - %3B < - %3C = - %3D > - %3E ? - %3F @ - %40 \ - %5C | - %7C

URL特殊字符需转义

1.空格换成加号(+) 2.正斜杠(/)分隔目录和子目录 3.问号(?)分隔URL和查询 4.百分号(%)制定特殊字符 5.#号指定书签 6.&号分隔参数 转义字符的原因: 如果你的表单使用get方法提交,并且提交的参数中有“&”等特殊符的话,如果不做处理,在service端就会将&后面的作为另外一个参数来看待.例如 表单的action为list.jsf?act=go&state=5 则提交时通过request.getParameter可以分别取得act和state的值. 

URL特殊字符

URL特殊字符需转义 1.空格换成加号(+) 2.正斜杠(/)分隔目录和子目录 3.问号(?)分隔URL和查询 4.百分号(%)制定特殊字符 5.#号指定书签 6.&号分隔参数 转义字符的原因: 如果你的表单使用get方法提交,并且提交的参数中有“&”等特殊符的话,如果不做处理,在service端就会将&后面的作为另外一个参数来看待.例如 表单的action为list.jsf?act=go&state=5 则提交时通过request.getParameter可以分别取得ac

url转义

URL特殊字符需转义 1.空格换成加号(+) 2.正斜杠(/)分隔目录和子目录 3.问号(?)分隔URL和查询 4.百分号(%)制定特殊字符 5.#号指定书签 6.&号分隔参数 转义字符的原因: 如果你的表单使用get方法提交,并且提交的参数中有“&”等特殊符的话,如果不做处理,在service端就会将&后面的作为另外一个参数来看待.例如 表单的action为list.jsf?act=go&state=5 则提交时通过request.getParameter可以分别取得ac

escape函数处理带加号字串问题

在使用Jqery做ajax操作的时候有中文老是乱码!必须的使用escape函数编码才正常,encodeURIComponent等函数都不可以,这是因为url中字符被转义,比如空格被编码成加号,于是加号成了空格.我们可以手工将加号编码成 %2B,eg: escape(str).replace(//+/g, '%2B');这样就可以了 (url转义字符原理 如果表单的action为list.jsf?act=go&state=5 则提交时通过request.getParameter可以分别取得act和

springboot中URL带有斜杠的转义字符百分之2F导致的400错误

背景: 今天项目上出现一个问题,是前端的GET请求url中带有路径参数,这个参数中有/这个特殊字符,在postman的url中已经转移成了%2F,后端用的是springboot,并没有收到这个请求,直接返回了400的错误 原因: 据说是tomcat默认是不支持转义的,需要手动设置一下转化,这个搜索tomcat的设置可以找到,但是这个是springboot,有内置的tomcat,但是在yml中找不到相关的配置. 解决方法: 修改一下启动类,加一个系统参数,重写WebMvcConfigurerAda

中文乱码 encodeURI来解决URL传递时的中文问题

解决中文乱麻问题,页面端发出的数据作两次encodeURI var name="张三"; encodeURI(encodeURI(name)); 后台解码: URLDecoder.decode(name,"UTF-8"); 参考:http://blog.csdn.net/zqd_java/article/details/53608585 -----------------------------------------------------------------

URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)

引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. 1.  问题的引出 在Restful的服务设计中,查询某些信息的时候,一般的URL地址设计为: get /basic/service? keyword=历史 , 之类的URL地址. 但是,在实际的开发和使用中,确是有乱码情况的发生,在后台的读取keyword信息为乱码,无法正确读取. 2. 乱码是如