众所周知,UTF-8是一种国际标准的文字编码,而GBK的主要是为了我国国情而存在的,不过GBK也将伴随着中文字符的一直流传下去。GBK的文字编码是双字节来表示的,也就是不论中、英文字符均使用双字节来表示,只不过为了区分中文,将其最高位都定成1。
至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。
GBK和UTF-8文字编码的主要区别:
1、GBK包含全部中文字符;UTF-8则包含全世界所有国家需要用到的字符。
2、GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准);而UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
比如,如果是用UTF8编码,则在国外的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。所以,对于英文比较多的论坛或者社区,使用GBK每个字符占用2个字节,而使用UTF-8英文却只占一个字节。
注意:
UTF-8版本虽然具有良好的国际兼容性,但中文需要比GBK/BIG5版本多占用50%的数据库存储空间,因此并非推荐使用,仅供对国际兼容性有特殊要求的用户使用。
经常有网民询问UTF-8和GBK哪个编码好?其实这个要根据个人需要来回答,如果你主要做中文程序的开发,客户也主要是中国人的话就用GBK吧,因为UTF-8编码的中文使用了三个字节,用GBK节省了空间。
但如果是做英文网站开发,还是用utf-8吧,因为utf-8中英文只占一个字节。GBK中英文也是两个字节的,并且国外客户访问GBK要下载语言包。如果你的网站是中文的,但国外用户也不少,最好也用UTF-8的吧。
总之,GBK编码方式主要是以中国国情而创造的,在国际上的兼容性不好,这也是为什么大多数的网页是使用UTF-8编码而不是GBK的原因。