当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : linux下用utf-8有什么优势吗?和gb18030有什么区别
帖子发表于 : 2008-12-13 16:05 

注册: 2008-09-06 10:04
帖子: 509
送出感谢: 0 次
接收感谢: 0 次
如题,编码不一样经常出现乱码。
windows都是gb18030吧,linux用utf-8的比较多貌似。为什么会这样?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: linux下用utf-8有什么优势吗?和gb18030有什么区别
帖子发表于 : 2008-12-13 16:10 
头像

注册: 2005-12-28 1:16
帖子: 3916
地址: 火星
系统: Ubuntu 12.10 X64
送出感谢: 1
接收感谢: 0 次
出现乱码是设置问题
设置得当的话,UTF-8最通用,麻烦最少,兼容性最好


_________________
目前负债150多万


页首
 用户资料  
 
3 楼 
 文章标题 : Re: linux下用utf-8有什么优势吗?和gb18030有什么区别
帖子发表于 : 2008-12-13 16:24 

注册: 2006-09-11 22:47
帖子: 2841
送出感谢: 0 次
接收感谢: 4
chenwl 写道:
如题,编码不一样经常出现乱码。
windows都是gb18030吧,linux用utf-8的比较多貌似。为什么会这样?


gb18030 是中国政府规定的,所以windows要想出售必须使用它。微软没有选择余地。
然而gb18030本身从设计上来讲是有缺陷的,而且不能避免由于字节错位带来的问题。

utf-8本身是一个非常优秀的设计,它唯一的问题就是诞生得太晚,如果utf-8早十年诞生的话,那就没其它编码集什么事了。

另外,识别 utf-8 和 gb18030 一点也不难,问题在于开发 Linux 软件的人大多数都使用 utf-8 而不使用gb18030,所以没有人会想到要去做这个识别。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: linux下用utf-8有什么优势吗?和gb18030有什么区别
帖子发表于 : 2008-12-13 16:44 

注册: 2008-12-11 15:24
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
一直用苹果系统,编码格式就是UTF-8,打开txt文件经常乱码

原来是这样,学习了


页首
 用户资料  
 
5 楼 
 文章标题 : Re: linux下用utf-8有什么优势吗?和gb18030有什么区别
帖子发表于 : 2008-12-13 17:16 

注册: 2008-11-27 22:15
帖子: 22
送出感谢: 0 次
接收感谢: 0 次
等到我找到方法解决了,发个贴出来,楼上的又说过时了。


_________________
恶魔法则从零开始


页首
 用户资料  
 
6 楼 
 文章标题 : Re: linux下用utf-8有什么优势吗?和gb18030有什么区别
帖子发表于 : 2008-12-13 23:47 

注册: 2008-09-06 10:04
帖子: 509
送出感谢: 0 次
接收感谢: 0 次
原来如此


页首
 用户资料  
 
7 楼 
 文章标题 : Re: linux下用utf-8有什么优势吗?和gb18030有什么区别
帖子发表于 : 2008-12-14 17:22 

注册: 2008-09-24 9:04
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
国家标准GB18030-2000《信息交换用汉字编码字符集基本集的扩充》是我国继GB2312-1980和GB13000-1993之后最重要的汉字编码标准,是未来我国计算机系统必须遵循的基础性标准之一。为保证该标准顺利贯彻执行,国家质监总局将在9月1日起首先对影响广泛的计算机操作系统进行执法检查,凡不符合该标准的产品,视为不合格产品。
GB 18030收录了27484个汉字,总编码空间超过150万个码位,为解决人名、地名用字问题提供了方案,为汉字研究、古籍整理等领域提供了统一的信息平台基础。

UTF-8编码的优点:
  UTF-8编码可以通过屏蔽位和移位操作快速读写。字符串比较时strcmp()和wcscmp()的返回结果相同,因此使排序变得更加容易。字节FF和FE在UTF-8编码中永远不会出现,因此他们可以用来表明UTF-16或UTF-32文本(见BOM) UTF-8 是字节顺序无关的。它的字节顺序在所有系统中都是一样的,因此它实际上并不需要BOM。
  UTF-8编码的缺点:
  你无法从UNICODE字符数判断出UTF-8文本的字节数,因为UTF-8是一种变长编码它需要用2个字节编码那些用扩展ASCII字符集只需1个字节的字符 ISO Latin-1 是UNICODE的子集,但不是UTF-8的子集 8位字符的UTF-8编码会被email网关过滤,因为internet信息最初设计为7为ASCII码。因此产生了UTF-7编码。 UTF-8 在它的表示中使用值100xxxxx的几率超过50%, 而现存的实现如ISO 2022, 4873, 6429, 和8859系统,会把它错认为是C1 控制码。因此产生了UTF-7.5编码。
  修正的UTF-8:
  java使用UTF-16表示内部文本,并支持用于字符串串行化的非标准的修正UTF-8编码。标准UTF-8和修正的UTF-8有两点不同:修正的UTF-8中,null字符编码成2个字节(11000000 10000000) 而不是标准的1个字节(00000000),这样作可以保证编码后的字符串中不会嵌入null字符。因此如果在类C语言中处理字符串,文本不会在第一个null字符时截断(C字符串以null结尾)。在标准UTF-8编码中,超出基本多语言范围(BMP - Basic Multilingual Plain)的字符被编码为4字节格式,但是在修正的UTF-8编码中,他们由代理编码对(surrogate pairs)表示,然后这些代理编码对在序列中分别重新编码。结果标准UTF-8编码中需要4个字节的字符,在修正后的UTF-8编码中将需要6个字节。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译