作为一个开发人员,免不了要与各种各样的编码打交道。而网页编码英文译为web page encoding,是在网页中指定其特定的字符编码格式的库,它是信息处理的一项基本技术。本文我们讲下GBK编码是什么?UTF-8编码是什么?以及两者的区别。
一、什么是网页编码
我们在网页上看到的所有文字其实都是由2进制0和1组成,”编码方式“通俗的讲就是将这些2进制数字转换成我们看的懂的文字。国内一般用的是“GBK”和“GB2312”,而“utf-8”是大部分国家通用的编码方式。
二、GBK编码是什么
GB就是国标的意思,GB2312和GBK主要用于汉字的编码。也就是如果你的网页主要面对使用汉语的中国人的话,使用GB2312和GBK非常好,文字储存体积较小。如果你的网页是面向全球的话,再用GB2312和GBK作为编码,有些电脑上的浏览器没有这种编码,你的网页汉字内容就会变成无法识别的乱码。
编码代码通常用在网页的meta标签内,例如:meta charset="utf-8",表示这个页面使用的是utf-8编码。这个信息是给浏览器看的,浏览器会优先考虑使用从网页头部提取出来的编码信息对网页进行解码。当然,我们也可以强制浏览器使用某种编码解释网页,这样我们就看到了传说中的乱码。
不过,现在建设网站优先选用国际通用的UTF-8编码,毕竟其它编码格式的建站CMS已经很少有人更新与使用了,UTF-8编码是主流。
三、UTF-8编码是什么
UTF-8是Unicode TransformationFormat-8bit,在互联网上使用最广的一种Unicode的实现方式。它是用于解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如果是UTF8编码,在外国人的英文浏览器上也能显示中文,他们无需下载中文语言支持包。
UTF-8版本虽然具有良好的国际兼容性,但中文需要比GBK/BIG5版本多占用50%的数据库存储空间,对国际兼容性有特殊要求的用户建议使用。简单地说:对于中文较多的网站,适宜用GBK编码节省数据库空间。对于英文较多的网站,适宜用UTF-8节省数据库空间。
四、Unicode是什么
Unicode是Universal Multiple-Octet Coded Character Set”,简称 UCS。由于以前很多国家都有自己的编码标准,结果互相之间谁也不懂谁的编码,谁也不支持别人的编码。这时,一个叫 ISO (国际标谁化组织)的国际组织决定着手解决这个问题。他们采用的方法很简单:废了所有的地区性编码方案,重新创造一个包括了地球上所有文化、所有字母和符号的编码,也就是Unicode。
这种编码非常大,大到可以容纳世界上任何一个文字和标志。所以只要电脑上有Unicode这种编码系统,无论是全球哪种文字,只需要保存文件的时候,保存成Unicode编码就可以被其他电脑正常解释。
四、GBK与UTF8有什么区别
1、UTF-8是一种国际化的编码方式,包含全世界所有国家需要用到的字符(简体中文字、繁体中文字、英文、日文、韩文等语言),也兼容 ASCII 码。
2、GBK包含全部中文字符,是在国家标准GB2312基础上扩容后兼容GB2312的标准,专门用来解决中文编码,是双字节的,无论中英文都是双字节。
3、UTF-8编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的网站用UTF-8更节省空间。
另外,如果是外国人访问你GBK编码的网页,需要下载中文语言包支持。而访问UTF-8编码的中文网页则不出现这问题,可以直接访问显示中文字体。