MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » 大家来讨论一下unicode和utf-8解决方案

大家来讨论一下unicode和utf-8解决方案

www.MyException.Cn  网友分享于:2013-01-20  浏览:81次
大家来讨论一下unicode和utf-8
从一篇帖子开始,http://blog.csdn.net/sfdev/archive/2009/01/13/3770706.aspx, 决定好好探究一下unicode和utf-8的关系.
总算大约明白:unicode是一种编码方式,它涵盖了世界上大多数国家语言字符并对其编码, 使每个编码都唯一; 这个工作使每个字符有了一个编号;也可以说这个工作是把世界范围内的字符映射到一个自然数集。
问题1:我这样理解对么?维基百科中关于unicode的解释中有一句话:Unicode 的实现方式不同于编码方式。一个字符的 Unicode 编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对 Unicode 编码的实现方式有所不同。Unicode 的实现方式称为Unicode转换格式(Unicode Translation Format,简称为 UTF)。
我这样理解这句话:
如果直接用unicode编码存储或传输字符,会遇到问题,因为计算机中存贮,传输的单位是字节,遇到的问题是:不好断字,一个字符占用几个子节无法确定,(还有一个问题是不同系统平台的设计不一定一致,这个先不说);所以需要有一种机制实现编码到字节序列的映射,并且能够标明字符边界:比如utf-8中:在ASCII码的范围的,用一个字节表示,且最高位为0;大于ASCII码的,比如110xxxxxx前三位的二进制表示告诉我们这是个 2BYTE的UNICODE字符;1110xxxx是个三位的UNICODE字符,依此类推.
问题2: 我这样理解unicode的实现方式对么?同时, 既然unicode只是一种编码方式,不是实现方式,那么打开记事本选择:file -> save as -> encoding选项中unicode是指哪种实现方式? unicode little endian?

问题3: String s = new String(new char[]{'A'}); s放的是字符序列,是哪种编码? 平台的编码还是unicode? s.getBytes("utf-8")得到该字符串的utf-8编码方式的byte序列,那么s.getBytes("unicode");又是哪种实现方式? unicode little endian?

欢迎讨论,欢迎指导! 给链接的不要, 因为你看到我都看过.


------解决方案--------------------
unicode好费空间的,我不喜欢。
------解决方案--------------------
纯属学习的。
------解决方案--------------------
大哥,你分用不了志愿小弟几个吧,我经常因为提问给的分少没人回答,真急
------解决方案--------------------
你说的这几个问题我都不懂,顶起。关注中
------解决方案--------------------
我以前这类问题关注很少
学习了不少。。
------解决方案--------------------
问题一:

如果直接用unicode编码存储或传输字符,会遇到问题,因为计算机中存贮,传输的单位是字节,遇到的问题是:不好断字,一个字符占用几个子节无法确定。

并不是传输或存储会遇到问题,使用UTF-8的目的是为了节省空间。而不是“不好断字,一个字符占用几个子节无法确定”

问题二:

项中unicode是指哪种实现方式? unicode little endian? 是的。
unicode的两种存储方式,高位在前,还是高位在后。

问题三:
字符串使用unicode编码。
那么s.getBytes("unicode");又是哪种实现方式? unicode little endian? 
可以测试一下,fe ff 高位在后,我机器测试就是这样的,big endian。
------解决方案--------------------
study
------解决方案--------------------
感觉楼主把编码想象的太深奥了。
我的理解是:为每一个符号加个ID.符号简单的说就是字、特殊字符等等,ID就是符号的编码,不同编码对应的ID不同。就象你的学号(你们学校的字符集)和你的身份证号码(国家的字符集)是不一样的,但都对应的是你。
每台计算机都有字符影射表,收到一个ID的时候会去查找这张表,转成对应的符号。
UTF-8是unicode的变种,就是在unicode的基础上做了有规律的变动。

开始-->运行 输入charmap,可以看到字符影射表.
------解决方案--------------------
学习,帮顶
------解决方案--------------------
上面提到:使用UTF-8的目的是为了节省空间。不正确。如果是英文,的确节省了空间。如果是中文,占的空间到多了。UTF-8传输过程中,如果有字节丢失,对后续字影响小。
------解决方案--------------------
我在用jsp时,出现乱码,就UTF-8,Unicode,Ansi换着试上一遍,不过大部分时间Unicode都不好用,根本连乱码都不出,只出个?。所以现在都不用Unicode。
刚才jsp乱码,用byte b[]=search.getBytes("ISO-8859-1");解决了。ISO-8859-1是不是也是一种国际标准编码方式?或许对你思考问题三有帮助吧
------解决方案--------------------
经常会出现错误。我建议使用EditPlus
------解决方案--------------------
学习了
------解决方案--------------------
hao
------解决方案--------------------
两种编码方式

其他的可以多查查资料 很多的

真的

一起学习了

呵呵
------解决方案--------------------
值得深入。。。学习
------解决方案--------------------
UTF-8是unicode的新版
史上, 有两个独立的, 创立单一字符集的尝试. 一个是国际标准化组织(ISO)的 ISO 10646 项目, 另一个是由(一开始大多是美国的)多语言软件制造商组成的协会组织的 Unicode 项目. 幸运的是, 1991年前后, 两个项目的参与者都认识到, 世界不需要两个不同的单一字符集. 它们合并双方的工作成果, 并为创立一个单一编码表而协同工作. 两个项目仍都存在并独立地公布各自的标准, 但 Unicode 协会和 ISO/IEC JTC1/SC2 都同意保持 Unicode 和 ISO 10646 标准的码表兼容, 并紧密地共同调整任何未来的扩展.,

文章评论

程序员的鄙视链
程序员的鄙视链
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
代码女神横空出世
代码女神横空出世
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
我是如何打败拖延症的
我是如何打败拖延症的
中美印日四国程序员比较
中美印日四国程序员比较
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
旅行,写作,编程
旅行,写作,编程
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
漫画:程序员的工作
漫画:程序员的工作
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
我的丈夫是个程序员
我的丈夫是个程序员
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
编程语言是女人
编程语言是女人
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
每天工作4小时的程序员
每天工作4小时的程序员
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
鲜为人知的编程真相
鲜为人知的编程真相
10个调试和排错的小建议
10个调试和排错的小建议
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员和编码员之间的区别
程序员和编码员之间的区别
老程序员的下场
老程序员的下场
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
如何成为一名黑客
如何成为一名黑客
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
那些争议最大的编程观点
那些争议最大的编程观点
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
 程序员的样子
程序员的样子
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员必看的十大电影
程序员必看的十大电影
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
一个程序员的时间管理
一个程序员的时间管理
程序员应该关注的一些事儿
程序员应该关注的一些事儿
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有