当前位置:园子博客 » 网站应用 » GBK与UTF-8的区别

GBK与UTF-8的区别

3月 4th, 2009 | Filed under 网站应用 | 共有14,858次浏览

今天在网上下载一个CMS时发现有两种类型可供选择,一个是GBK的,另一个是UTF-8的,平时上网的时候也大概了解这两种编码的差别,但不是很详细,今天有空查阅了部分资料,整理如下:

GBK的子集GB2312

GB2312是GBK的子集,GBK是GB18030的子集。GB2312编码大约包含6000多汉字(不包括特殊字符),编码范围为第一位b0-f7,第二位编码范围为a1-fe(第一位为cf时,第二位为a1-d3),计算一下汉字个数为6762个汉字。当然还有其他的字符。包括控制键和其他字符大约7573个字符编码。

GBK是包括中日韩字符的大字符集合,GBK编码是对GB2312编码的扩充,容纳的汉字更多,但仅仅是扩充,没有质的变化。保留了所有GB2312编码,在此基础上进行编码范围的扩充.容纳(包含特殊字符)共22014个字符编码。

GB18030编码是在GBK编码基础上的扩充,因为汉字更多,仅仅使用两位编码已经不能容纳要求的汉字,所以采用了2\4位混和的办法,可以支持更多的汉字编码。并且保留了原有的GBK 2字节编码兼容GB2312和gbk编码的文件。大概容纳55657个编码(包含特殊字符)。

GB2312编码重点总结如下
GB2312能完美的支持简体中文和英文,一个中文文字占用2个字节,一个英文字母同样占用2个字节。
问题产生了:在没有安装IE的简体中文支持的电脑上看GB2312编码的网页,其中中文都会是乱码,比如一位英国人在伦敦浏览你的网页,看到的除了英文字母正常外其他的都会是乱七八糟,就像火星文。

UTF-8
UTF-8是unicode,可以看作是大字符集,它包含了大部分文字的编码。为表达更多的文字,UTF-8采用2/3混编的方式。目前所容纳的汉字范围小于GBK编码。

UTF-8重点总结如下
UTF-8能完美的支持英文和中文,甚至其他文,一个中文文字占用3个字节,一个英文字母同样占用1个字节。

使用UTF-8的一个最大好处是其他地区的用户(如美国、印度、台湾)无需安装IE的简体中文支持就能正常观看你的文字而不会出现乱码。通常网络传输也是用UTF-8编码。

综上所述:根据您的网站的内容和浏览的对象以及对数据的储存空间的权衡,就很好做出编码选择了。

您必须在 登录 后才能发布评论.