互联网技术 · 2024年2月13日

为什么网页编码不采用gbk或者gb2312,而是使用utf-8

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

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册