现在的位置: 首页 > 综合 > 正文

UTF-8 GBK 和 gbk2312

2012年10月22日 ⁄ 综合 ⁄ 共 1001字 ⁄ 字号 评论关闭

原文地址:http://blog.163.com/dangzhengtao@yeah/blog/static/7780087420102132421629/?fromdm&fromSearch&isFromSearchEngine=yes

1、编码
编码比较常用的有: UTF-8 GBK GB2312 ISO-8859-1,除了 iso-8859-1之外的其它三个编码都能很好的支持中文,但它们都兼容 ISO-8859-1的编码(就是说无论编码怎么改变,只要是 ISO-8859-1中的字符,永远不会出现乱码)。

这四种编码中, GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码;GBK GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文,还有日文的假名; UTF-8虽然也支持中文,但却GB码不兼容(编码值不同)UTF-8使用的是可变长的 UNICODE编码,编码可能是 1 16进制(即 ISO-8859-1中的字符,其编码也是相同的)也有可能是 2位或 3位的 16进制。 UTF-8的优点是:1CPU字节顺序无关 , 可以在不同平台之间交流。 2、容错能力高 , 任何一个字节损坏后 , 最多只会导致一个编码码位损失 , 不会链锁错误 ( GB码错一个字节就会整行乱码 ),所以在国际化处理中基本都是建议使用 UTF-8作为编码。

2、文件的编码
文件编码最常使用的有两种:ANSIUTF-8,光看名字估计你都可以猜到了,ANSI就是我们保存文件时使用的默认编码,而UTF-8则需自己设置。对于编码的改变,我使用的工具是NOTEPADECLIPSENOTEPAD使用最简单,只要打开文件后在另存为中选择相应的编码就行了,而且它对编码的支持非常好;而在ECLIPSE中,只要稍微设置一下就行了,打开首选项,然后选择:常规->内容类型(ContentType),在右边选中你想改变保存编码的文件类型,然后在下方的缺省编码中改变其值,最后点击更新(UPDATE)按钮即可。


而在其它的编辑器中,默认保存的内容都是GB2312或者GBK(NOTEPAD中对应ANSI).而根据前面所说的UTF-8和GBK,GB2312等的编码值是不同的这一点,可以知道,如果文件使用了UTF-8,那么字符编码就必须使用UTF-8,否则编码值的不同就可能造成乱码。而这也就是为什么那么多的人使用了UTF-8编码后还会产生乱码的根本原因。

抱歉!评论已关闭.