GBK的文字编码是双字节来表示的,至于UTF-8编码则是用以解决国际上字符的一种多字节编码,正如标题所言,下面为大家详细介绍下到底是为什么呢。
能选择的话还是应该用UTF-8
事实上Windows系统自己的程序已经全面转向Unicode,而GBK只是为了应付中国标准的权宜之计。
GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。
至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。
GBK包含全部中文字符,
UTF-8则包含全世界所有国家需要用到的字符。
GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)
UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。
所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。
请注意:UTF-8版本虽然具有良好的国际兼容性,但中文需要比GBK/BIG5版本多占用50%的数据库存储空间,因此并非推荐使用,仅供对国际兼容性有特殊要求的用户使用。
简单地说:
对于中文较多的论坛,适宜用GBK编码节省数据库空间。
对于英文较多的论坛,适宜用UTF-8节省数据库空间。
gbk和gb2312的区别有哪些
首先大家要了解什么是gbk?什么是gb2312?我们要知道他们都是一种字符编码,当然字符编码还有很多种。
而字符编码我们可以这样理解:
在计算机中存放的都是0和1的二进制值。
8个位对应一个字节,常用16进制来表示。
那么我们如果想要在计算机上看到我们想要的字符显示,而不是各种0和1的数字该怎么实现呢?
这里我们就需要使计算机把其所存储的对应的16进制的数值,转化为对应的字符,包括英文和中文等其他语言的字符,然后输出到屏幕上。
所以编码也就是,定义了一套规则,去指定哪些数值,对应着哪些字符。
那么字符编码,就是定义了一套规则,指定了计算机中存放的这么多值中的哪个值,对应了电脑屏幕显示出来的哪个字母。
综上所述,大家应该都能理解GBK和GB2312是一种字符编码了吧。
下面我们再具体说说他们的区别与相同点:
相同点:
1、GBK和GB2312 都是16位的!
2、它们通常用在网页的meta标签内。
不同点:
1、GBK字符编码支持简体中文和繁体中文!
GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification) ,中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。
2、GB2312只支持简体中文!
《信息交换用汉字编码字符集》是由中国国家标准总局1980年发布,1981年5月1日开始实施的一套国家标准,标准号是GB 2312—1980。
GB 2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。
如果你的网页主要面对使用汉语的中国人的话,使用 GB2312和GBK非常好,文字储存体积要小,有一些优点。如果你的网页要面向世界的话,你再用GB2312和GBK作为网页编码的话,有些电脑上的浏览器没有这种编码,你的网页汉字内容就会变成无法识别的乱码。
文章转自脚本之家,原文链接:https://www.jb51.net/web/93434.html