论坛首页 Java企业应用论坛

对编码问题的总结(java版)

浏览 19187 次
精华帖 (0) :: 良好帖 (7) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-11-08  
呃,我居然也和lz同一城市
0 请登录后投票
   发表时间:2010-11-08  
myhousepoor 写道
呃,我居然也和lz同一城市

珠海的IT行业的也不少吧,这么大惊小怪。。
0 请登录后投票
   发表时间:2010-11-08  
JE帐号 写道

总之,我的心得体会是,不管总结多少次,编码问题总还是会成为问题... ...

见一个杀一个,一般情况下都是转来转去中间过程没对应好而已,耐心点
0 请登录后投票
   发表时间:2010-11-09  

第二部分输出结果中
UTF-8:?连通
有个?,就是乱码,是什么原因呢???
0 请登录后投票
   发表时间:2010-11-09  
javajeye 写道

第二部分输出结果中
UTF-8:?连通
有个?,就是乱码,是什么原因呢???

就是一开始保存文本为UTF-8 的时候他字节就为17 -69 -65 (标记) -24-65 -98 -23 (连)-128 -102 (通),前面三个是UTF-8的标记,就是让机器扫描后能知道他是个UTF-8的文本,好让机器自动识别,将上面9个字节用UTF-8解析放在存在JVM的unicode编码前面就多出两个字节出来,如果再用UTF-8去解析就不会错,因为UTF-8认到标示不会显示的,但是print输出到控制台的时候,他依旧是用默认的"GBK",前面“17 -69 -65 (标记)”这个对“GBK”的编码来说是多余的,所以输出了个?号,然后剩下的才是“连通”

0 请登录后投票
   发表时间:2010-11-09  
总体还可以,但有些概念理解还是不到位
举例:
1.Unicode是字符集,它分有多个平面(plan)
2.UCS-2是Unicode的子集,包括0、17和BMP区
3.UTF-16是变长码,大致上相当于UCS-2码的直接实现,但是也有一部分UCS-4的字符。它大部分是采用2个字节编码,而有部分特殊符号采用3字节编码,所以大致相当于20位编码, 值在0到0x10FFFF之间

像这种知识,建议去找比较权威的资料看,网上很多资料都是作者的个人理解,有很多错误。

http://en.wikipedia.org/wiki/UTF-16/UCS-2
http://en.wikipedia.org/wiki/UTF-32/UCS-4
0 请登录后投票
   发表时间:2010-11-09  
marauder 写道
javajeye 写道

第二部分输出结果中
UTF-8:?连通
有个?,就是乱码,是什么原因呢???

就是一开始保存文本为UTF-8 的时候他字节就为17 -69 -65 (标记) -24-65 -98 -23 (连)-128 -102 (通),前面三个是UTF-8的标记,就是让机器扫描后能知道他是个UTF-8的文本,好让机器自动识别,将上面9个字节用UTF-8解析放在存在JVM的unicode编码前面就多出两个字节出来,如果再用UTF-8去解析就不会错,因为UTF-8认到标示不会显示的,但是print输出到控制台的时候,他依旧是用默认的"GBK",前面“17 -69 -65 (标记)”这个对“GBK”的编码来说是多余的,所以输出了个?号,然后剩下的才是“连通”


谢谢
还有一个问题 文本的格式是utf-8或gbk经过正确的编码解析后对应的unicode(255 254 222...)是怎么得到的?
0 请登录后投票
   发表时间:2010-11-09  
drift_ice 写道
总体还可以,但有些概念理解还是不到位
举例:
1.Unicode是字符集,它分有多个平面(plan)
2.UCS-2是Unicode的子集,包括0、17和BMP区
3.UTF-16是变长码,大致上相当于UCS-2码的直接实现,但是也有一部分UCS-4的字符。它大部分是采用2个字节编码,而有部分特殊符号采用3字节编码,所以大致相当于20位编码, 值在0到0x10FFFF之间

像这种知识,建议去找比较权威的资料看,网上很多资料都是作者的个人理解,有很多错误。

http://en.wikipedia.org/wiki/UTF-16/UCS-2
http://en.wikipedia.org/wiki/UTF-32/UCS-4

呵呵,多少斤两高人一看就知,说得到位。
一些概念的东西我会慢慢加强。
因为现在英语看不懂所以 ,正在补英语中,会去慢慢体会官方类的文档。
0 请登录后投票
   发表时间:2010-11-09  
javajeye 写道

还有一个问题 文本的格式是utf-8或gbk经过正确的编码解析后对应的unicode(255 254 222...)是怎么得到的?

unicode(255 254 222...)这个在内存里,我也看不到的。
0 请登录后投票
   发表时间:2010-11-09  
marauder 写道
javajeye 写道

还有一个问题 文本的格式是utf-8或gbk经过正确的编码解析后对应的unicode(255 254 222...)是怎么得到的?

unicode(255 254 222...)这个在内存里,我也看不到的。


那么怎么可以说上面两张图中内存的unicode是一样的呢?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics