请求参数时关于转义字符的处理
2017-03-14 17:28
369 查看
http://blog.csdn.net/wyzlwyzl/article/details/47746813
感谢上文,讲述了在C#中使用Microsoft.JScript.GlobalObject.escape方法和Microsoft.JScript.GlobalObject.encodeURIComponent的区别。
escape方法并不编码字符+。而我们知道,在用户提交的表单字段中,如果有空格,则会被转化为+字符,而服务器解析的时候则会认为+号代表空格。由于这个缺陷,escape方法并不能正确地处理所有的非ASCII字符,你应当尽量避免使用escape方法,取而代之,你最好选择encodeURIComponent()方法。
escape()不编码的字符:@*/+
相对于使用escape方法,使用encodeURI方法会显得更专业一些。当你需要编码一整个URI的时候,你可以使用此方法,因为URI中的合法字符都不会被编码转换。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。
encodeURI() 不编码的字符: ~!@#@{content}*()=:/,;?+’
encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。
encodeURIComponent()不编码的字符: ~!*()’
服务器端解码:HttpUtility.UrlDecode,例如:
HttpUtility.UrlDecode(name_cn, Encoding.UTF8)
总结起来:
请求参数:encodeURIComponent
具体的区别还需要再实践中得到认识%>_<%
感谢上文,讲述了在C#中使用Microsoft.JScript.GlobalObject.escape方法和Microsoft.JScript.GlobalObject.encodeURIComponent的区别。
escape方法并不编码字符+。而我们知道,在用户提交的表单字段中,如果有空格,则会被转化为+字符,而服务器解析的时候则会认为+号代表空格。由于这个缺陷,escape方法并不能正确地处理所有的非ASCII字符,你应当尽量避免使用escape方法,取而代之,你最好选择encodeURIComponent()方法。
escape()不编码的字符:@*/+
相对于使用escape方法,使用encodeURI方法会显得更专业一些。当你需要编码一整个URI的时候,你可以使用此方法,因为URI中的合法字符都不会被编码转换。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。
encodeURI() 不编码的字符: ~!@#@{content}*()=:/,;?+’
encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。
encodeURIComponent()不编码的字符: ~!*()’
服务器端解码:HttpUtility.UrlDecode,例如:
HttpUtility.UrlDecode(name_cn, Encoding.UTF8)
总结起来:
请求参数:encodeURIComponent
具体的区别还需要再实践中得到认识%>_<%
相关文章推荐
- 关于ajax的时间戳,ajax的同样参数请求只处理一次的时间间隔
- 关于获取请求参数并处理显示的总结
- 关于处理GET方式提交的含有特殊字符的参数(转载)
- 关于处理GET方式提交的含有特殊字符的参数
- 关于获得客户机请求参数(客户端提交的数据)的总结(No.36)
- 关于C#事件处理函数中的参数(object sender, EventArgs e)
- Spring3 MVC (三)---请求处理方法 参数及返回值总结
- 关于ASP.NET中Resonse.QueryString函数汉字参数传递错误的处理办法
- 关于C#事件处理函数中的参数(object sender, EventArgs e)
- 关于URL请求传递中文参数乱码
- SpringMVC Spring3 MVC 注解,注释 用@RequestMapping处理请求,多个请求,提交,.do,带参数,url重写
- 关于Ajax请求服务器端的处理
- 关于存储过程中一个参数表示多个查询条件使用方法的简单处理
- 关于异步I/O请求被同步处理的问题。。
- 关于处理GET方式提交的含有特殊字符的参数jsp
- 关于Ajax中处理回传参数的几种实现
- 关于处理GET方式提交的含有特殊字符的参数
- 处理XML格式参数的请求
- pb 调用dll时关于指针参数处理
- 处理请求参数乱码问题