网页中的表单使用POST方法提交时,数据内容的类型是 application/x-www-form-urlencoded,这种类型会:
1.字符"a"-"z","A"-"Z","0"-"9",".","-","*",和"_" 都不会被编码;</p>
2.将空格转换为加号 (+) ;</p>
3.将非文本内容转换成"%xy"的形式,xy是两位16进制的数值;</p>
4.在每个 name=value 对之间放置 & 符号。
URLEncoder类包含将字符串转换为application/x-www-form-urlencoded MIME 格式的静态方法。
web设计者面临的众多难题之一便是怎样处理不同操作系统间的差异性。这些差异性能引起URL方面的问题:例如,一些操作系统允许文件名中含有空格符,有些又不允许。大多数操作系统不会认为文件名中含有符号“#”会有什么特殊含义;但是在一个URL中,符号“#”表示该文件名已经结束,后面会紧跟一个fragment(部分)标识符。其他的特殊字符,非字母数字字符集,它们在URL或另一个操作系统上都有其特殊的含义,表述着相似的问题。为了解决这些问题,我们在URL中使用的字符就必须是一个ASCII字符集的固定字集中的元素,具体如下:1.大写字母A-Z 2.小写字母a-z 3.数字 0-9 4.标点符 - _ . ! ~ * ' (和 ,) 诸如字符: / & ? @ # ; $ + = 和 %也可以被使用,但是它们各有其特殊的用途,如果一个文件名包括了这些字符( / & ? @ # ; $ + = %),这些字符和所有其他字符就应该被编码。
编码过程非常简单,任何字符只要不是ASCII码数字,字母,或者前面提到的标点符,它们都将被转换成字节形式,每个字节都写成这种形式:一个“%”后面跟着两位16进制的数值。空格是一个特殊情况,因为它们太平常了。它除了被编码成“%20”以外,还能编码为一个“+”。加号(+)本身被编码为%2B。当/ # = & 和?作为名字的一部分来使用时,而不是作为URL部分之间的分隔符来使用时,它们都应该被编码。 //测试编码与解码
public static void testCodeString(){
String origialStr="EndUser:perf_test3@lf.com;算的Add Service Component:benchen , Darlen ;Remove Service Component:LF ";
System.out.println("EndUser:perf_test3@lf.com;算的Ad".length());
try {
System.out.println("编码前的字符串为:"+origialStr);
origialStr=URLEncoder.encode(origialStr,"UTF-8");
System.out.println("编码后的字符串为:"+origialStr);
origialStr=URLDecoder.decode(origialStr,"utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("解码后的字符串为:"+origialStr);
}
显示结果:
编码前的字符串为:EndUser:perf_test3@lf.com;算的Add Service Component:benchen , Darlen ;Remove Service Component:LF
编码后的字符串为:EndUser%3Aperf_test3%40lf.com%3B%E7%AE%97%E7%9A%84Add+Service+Component%3Abenchen+%2C+Darlen+%3BRemove+Service+Component%3ALF+
解码后的字符串为:EndUser:perf_test3@lf.com;算的Add Service Component:benchen , Darlen ;Remove Service Component:LF
分享到:
相关推荐
java中的URLEncoder和URLDecoder类.docx
主要介绍了java 使用 URLDecoder 和 URLEncoder 对中文字符进行编码和解码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
J2ME URLEncoder 和 URLDecoder 类的实现 实现J2ME没有的API
URLEncoder与URLDecoder的应用 对中文字符进行utf-8编码与解码 希望对各位有用
使用URLDecoder和URLEncoder 区别
j2ME URLEncoder Vs URLDEcoder
主要给大家介绍了关于java中URLEncoder.encode与URLDecoder.decode处理url特殊参数的方法,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
C++ 版本UrlEncoder编码解码工具:支持ANSIC和UTF8格式,是URLEncoderHTML 格式编码的实用工具类。详情参照文章:...
主要介绍了java 使用URLDecoder和URLEncoder对中文进行处理的相关资料,需要的朋友可以参考下
UniEncoder解码库-可以快速解码和编码,日常开发中经常会进行对字符串的各种编码和解码,很方便。
HTML 格式编码的实用工具类。该类包含了将 String 转换为 application/x-www-form-urlencoded MIME 格式的静态方法。下文通过实例代码给大家介绍Java中的UrlDecoder 和 UrlEncoder知识,感兴趣的的朋友一起看看吧
/** * 封装各种格式的编码解码工具类. * 1.Commons-Codec的 hex/base64 编码 * 2.自制的base62 编码 * 3.Commons-Lang的xml/html escape * 4.JDK提供的URLEncoder */
urlencoder 在Node.js中实现Java Land URLEncoder安装$ npm install urlencoder 例子超级简单: var encoder = require ( 'urlencoder' ) ;encoder . encode ( '哈哈' ) ;执照麻省理工学院
主要为大家详细介绍了UrlDecoder和UrlEncoder使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
通过URLEncoder.encode加密地址栏url上得中文字符, 并可通过java.net.URLDecoder.decode(str, charset)解密中文
前三步和人脸检测几乎一样 人脸检测地址 ...唯一不同的,就是我们需要创建一个通用物体和场景识别,重新获取一个API Key和Secret Key,获取...import java.net.URLEncoder; /** * 通用物体和场景识别 */ public class Pictu
学生提问:既然内部类是外部类的成员,是否可以为外部类定义子类,在子类中再定义一个内部类来重写其父类中的内部类? 211 6.7.4 局部内部类 211 6.7.5 匿名内部类 212 6.7.6 闭包(Closure)和回调 215 6.8 ...
031903_【第19章:Java网络编程】_URLEncoder与URLDecoder笔记.pdf 031904_【第19章:Java网络编程】_TCP程序设计笔记.pdf 031905_【第19章:Java网络编程】_UDP程序设计笔记.pdf 032001_【第20章:Java新IO】_缓冲...
URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 ...
URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 ...