UTF-8是一种国际化标准的文字编码,我们已知Windows系统程序已经将最初的UTF-8转向Unicode,而GBK的存在是为了中国国情而创造的,不过GBK也将伴随着中文字符的一直流传下去 。
文章插图
GBK和UTF-8文字编码的特点:
GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1 。
至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码 。对于英文字符较多的论坛则用UTF-8节省空间 。
GBK和UTF-8文字编码的区别:
GBK包含全部中文字符;
UTF-8则包含全世界所有国家需要用到的字符 。
【GBK和UTF-8文字编码有什么区别?GBK有什么好处?】GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准;(好像还不是国家标准)
UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示 。
比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包 。
所以,对于英文比较多的论坛,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节 。
注意:
UTF-8版本虽然具有良好的国际兼容性,但中文需要比GBK/BIG5版本多占用50%的数据库存储空间,因此并非推荐使用,仅供对国际兼容性有特殊要求的用户使用 。
总结:
GBK就是在保存你的帖子的时候,一个汉字占用两个字节 。外国人看会出现乱码,此为我中华为自己汉字编码而形成之解决方案 。
UTF8就是在保存你的帖子的时候,一个汉字占用3个字节 。但是外国人看的话不会乱码,此为西人为了解决多字节字符而形成之解决方案 。
ASCII(ISO-8859-1)是鼻祖,最简单的方式,字节高位为0 。
GB2312、GBK、GB18030,这几个是中文编码方式,并向下兼容 。GB2312包含7000多个汉字和字符,GBK包含21000多个,GB18030更厉害,到了27000多个 。他们都是用2个字节来表示一个汉字 。跟ascii是怎么区分的呢?如果高字节的高位为1(也就是高字节大于127),就表示是汉字,低字节并无明显特征 。
Unicode是统一编码,它建立了一个全世界统一的码表 。世界上的所有文字,在这张码表中都是唯一的 。
UTF-8是Unicode的一种存储、传输方式 。它将整个Unicode码表分为3部分 。
0000 - 007F 这部分是最初的ascii部分,按原始的存储方式,即0xxxxxxx 。
0080 - 07FF 这部分存储为110xxxxx 10xxxxxx 。
0800 - FFFF 这部分存储为1110xxxx 10xxxxxx 10xxxxxx 。
因此,一个汉字究竟被存储为什么,就需要:先查unicode码表,然后根据在码表的位置进行计算 。例如:“电”字,在码表中是3575,计算成utf8就是E794B5,而在GB2312的码表中为B5E7 。
UTF-8的好处:兼容ASCII,存储英文文件都是单字节,文件小 。当然,当以存中文为主时就变成了3字节编码了,比GB系列还大!如何标明一个文件是utf8格式呢?这个标记是可选的:EF BB BF 。比如,用windows自带的记事本创建一个utf8格式的文件,就会加上这个标记 。但是,如果用ultraedit创建utf8文件,并不会加上这个标记 。这个标记有个术语,叫做BOM(Byte Order Mark) 。不带BOM的utf8文件和GB2312文件怎么区分呢?我也不知道 。唯一能想到的办法就是:先用一种试,如果出现乱码,就用另一种再试 。
简言而知,GBK编码方式的编码是以中国国情而创造的,在国际上的兼容性不好,这也是为什么大多数的网页是使用UTF-8编码而不是GBK 。
推荐阅读
- azw3手机用什么看
- win10远程桌面由于以下原因之一无法连接到远程计算机
- 压缩机的作用是什么
- 什么颜色的衣服不显汗湿
- 用photoshop制作一个哭脸图标
- 南通大学啬园校区是几本
- 学生手上有毛怎么去掉
- 补铁剂不能和什么一起吃
- 自制USB无线网卡天线提高无线网卡上网速度