Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php
2014-10-29 23:10
615 查看
Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php
在form的ContextType是[x-www-form-urlencoded]的时候会对form中的键/值对进行编码,空格被转义成+,其他字符按照[RFC1738]标准处理成%HH的形式。
作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
手动replace space to %20
或者
收到url解析时使用
URLDecoder.decode("a++b%20c")); //a b c
js解码函数 escape,encodeURI,encodeURIComponent比较 - xuchanghao的专栏 - 博客频道 - CSDN.NET.htm
1. RFC2396标准
including HTML 4.01 section 17.13.4, and also RFC 1866 (which is supercededby the W3C HTML recommendations).在form的ContextType是[x-www-form-urlencoded]的时候会对form中的键/值对进行编码,空格被转义成+,其他字符按照[RFC1738]标准处理成%HH的形式。
作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2. Js urlencode
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponentescape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
3. 解决之道::
s = org.tuckey.web.filters.urlrewrite.utils.URLEncoder.encodePathParam("a b", "utf-8");//a%20%20b手动replace space to %20
或者
收到url解析时使用
URLDecoder.decode("a++b%20c")); //a b c
4. 参考
URL编码中的空格问题 - 来老师的专栏 - 博客频道 - CSDN.NET.htmjs解码函数 escape,encodeURI,encodeURIComponent比较 - xuchanghao的专栏 - 博客频道 - CSDN.NET.htm
相关文章推荐
- Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php
- Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php
- Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net
- Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725
- atitit.复合变量,也就是类似$$a的变量的原理与实现 java c#.net php js
- Atitit.异步编程 java .net php python js 对照
- atitit.提升软件开发的效率and 质量的那些强大概念and方法总结
- 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域
- atitit.提升软件开发的效率and 质量的那些强大概念and方法总结
- 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
- Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python
- Java软件开发基础知识梳理之(11)------Java中的GC操作及相关概念
- atitit. 集合groupby 的实现(2)---自定义linq查询--java .net php
- atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表
- atitit.泛型编程总结最佳实践 vO99 java c++ c#.net php