ASCII (American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,共定义了128个字符 。
Unicode:统一码(又称万国码),它为每种语言中的每个字符设定了唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
UTF-8(8-bit Unicode Transformation Format):是针对Unicode的一种可变长度字符编码,包含全世界所有国家需要用到的字符,且与ASCII相容。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。
GBK(“国标”、“扩展”汉语拼音的第一个字母):即汉字编码字符集,主要针对汉字编码而形成的解决方案。
GBK和UTF-8的对比:
占用字节数不同 | 包含范围不同 |
---|---|
GBK的文字编码是双字节来表示的,不论中、英文字符均使用双字节来表示 ,只不过为区分中文,将其最高位都定成1。 | GBK包含全部中文字符,以及英文及其他一些字符,但不是全世界所有需要用到的字符。 |
UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。 | UTF-8包含全世界所有需要用到的字符。 |
总结:
GBK就是在保存帖子的时候,一个汉字占用两个字节。外国人看会出现乱码,此为我们国家为自己汉字编码而形成的解决方案。
UTF-8就是在保存帖子的时候,一个汉字占用3个字节。但是外国人看的话不会乱码,此为西人为了解决多字节字符而形成的解决方案。
简言而知,GBK编码方式的编码是以中国国情而创造的,在国际上的兼容性不好,这也是为什么大多数的网页是使用UTF-8编码而不是GBK。