一直以来被书上、网上各位“大侠”云里雾里的 关于java编码问题的解释晃的头痛。因为不少人都没能深入理解编码、解码的关系,使用了不恰当的术语,给许多新手造成了误解。现在个人根据心得及实验,为新手明确解释一下,也为自己加深理解总结。
1.String .getBytes()方法:使用指定字符集将字符串转换为unicode字符集,存储到内存。
**注:java平台采用国际通用的一个字符集unicode 作为统一编码方式,作为其他字符集与内存交换的桥梁。
比如:String s="测试";
byte b[]=s.getBytes("gbk");
for(int i=0;i<b.length;i++){
System.out.println(b[i]);
}
输出:-78
-30
-54
-44(4个字节,gbk字符集中一个汉字2个字节)
这段代码是 使用gbk字符集将 -78-30-54-44 这个2进制码解析成unicode字符集的 某一个码存入内存好让jvm执行。“编码”是一种动作,“字符集”才是一个名词。
2.某某大侠经常说 这个页面编码是gbk,正确的说法应该是 该页面 使用gbk字符集编码为unicode码,所以要想不出现乱码,必须使用gbk字符集 在接收端同样的去解码,例如“测试”经gbk编码之后的二进制码为-78-30-54-44,这个样子的一个码值,转为为java unicode编码之后例如是 254 264 278 264(没试验过的unicode码值,只是举个例子) 你用Utf-8的字符集去解析这个-78-30-54-44,码值,utf-8字符集一个汉字占3个字节,当然不能还原为2个汉字了,4/3=1.....。当然就不能转换为正确的unicode字符集到内存,当然就出现乱码了。
分享到:
相关推荐
NULL 博文链接:https://lhc1986.iteye.com/blog/1544701
Java中编码总结.pdf
文中部分节选 1.整型实例。 修复建议:使用Integer.valueOf()替代new Integer。 2.switch语句包含太少分支。 修复建议:分支比较少的时候建议使用if else。原因:switch用来处理多分支的情况。...
Java编码规范 java编码的经验总结
此文档为Java中编码方式和Unicode知识总结,对了解学习Java编码的讲解很全面清楚!
JAVA编码问题的总结,详细解析JAVA编码机制和各种相关问题
Java中编码总结[整理].pdf
上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。 ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),...
自己总结的有关java 编码方式的知识
Java中编码以及Unicode总结
ava支持UTF 8 ISO 8859 1 GBK等各种字体编码 可笔者发现Java中字体编码的问题仍难倒了不少程序员 网上虽然也有不少关于在Java中如何正确显示中文的文章 但都不够全面 笔者特意总结如下 影响Java中字体编码正确显示...
1,我不要自我重复: 这也许是在编程开发这最最基本的一个信条,就是要告诉你不要出现重复的代码。我们很多的编程结构之所以存在,就是为了帮助我们消除重复(例如,循环语句,函数,类,等等)。...
结合实际开发经验,总结了java开发的编码规范!可以比较参考!
总结了java中常见的utf-8、gbk等进行字符串编码转换
tomcat字符编码总结 深入了解!从网上搜集了很多,自己整理的
《阿里巴巴Java开发手册》是阿里内部Java工程师所遵循的开发规范,涵盖编程规约、单元测试规约、异常日志规约、MySQL规约、工程规约、安全规约等,这是近万名阿里Java技术精英的经验总结,并经历了多次大规模一线...
//编码解码1:默认编码 String str1 = "你好"; byte[] buf1 = str1.getBytes();//默认解码:Unicode,四个字节 //编码解码2:指定编码 String str2 = "你好"; byte[] buf2 = str2.getBytes("UTF-8");//指定...
做项目时总结的,java程序获取文件编码方式的两种最常用的方式(1.cpdetector第三方jar包,包含源码elipse项目;2.EncodingDetect.java工具类)。