UTF-8、GBK、GB2312的区别是什么?

字符必须编码后才能被计算机处理。计算机使用的缺省编码方式就是计算机的内码。早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

UTF-8:

Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。

UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。

GBK:

是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大。

GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换:

  • GBK、GB2312--Unicode--UTF8

  • UTF8--Unicode--GBK、GB2312

简单从功能上说:

1、GBK通常指GB2312编码,只支持简体中文字

2、utf通常指UTF-8,支持简体中文字、繁体中文字、英文、日文、韩文等语言(支持文字更广)

3、通常国内使用utf-8和gb2312,看自己需求选择

先来看看GB2312和GBK这两种中文编码规范。

GB指代的“国标”,即“国家标准”。

GB2312包含了常用的中文字符,同时也兼容ASCII码。在这种编码规范中,ASCII码占一个字节,码值在0~127之间;中文字符占两个字节,码值在127~256之间。

GBK兼容GB2312编码,但比GB2312包含了更多的汉字:中文存储时,第一个字节码值在127~256之间,第二个字节码值在0~256之间。

再来看看UTF8编码。

UFT8是一种国际化的编码方式,包含了世界上大部分的语种文字,也兼容ASCII码。

这类标准依据文字的不同,使用1~6个字节来存储字符,是一种多字节的编码规范。它对英文使用一个字节(8位)存储,对中文使用三个字节(24位)存储。

以上就是UTF-8、GBK、GB2312的区别是什么?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读