UTF16和UTF8什么区别?

还有GBK
非常感谢。

1、在UTF-8中,字符是以8位序列来编码的,用一个或几个字节来表示一个字符。这种方式的最大好处,是UTF-8保留了ASCII字符的编码做为它的一部分。UTF-8 编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。

对于英文字符较多的论坛则用UTF-8 节省空间。另外,如果是外国人访问你的GBK网页,需要下载中文语言包支持。访问UTF-8编码的网页则不出现这问题。可以直接访问。

2、UTF-16以16位为单元对UCS进行编码。对于小于0x10000的UCS码,UTF-16编码就等于UCS码对应的16位无符号整数。

3、GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)。GBK编码专门用来解决中文编码的,是双字节的。不论中英文都是双字节的。

扩展资料:

网页编写用那种好,如果你主要做中文程序的开发,客户也主要是中国人的话就用GBK吧,因为UTF-8编码的中文使用了三个字节,用GBK节省了空间。如果做英文网站开发,还是用utf-8吧,因为utf-8中英文只占一个字节。GBK中英文也是两个字节的,并且国外客户访问GBK要下载语言包。

参考资料:百度百科-GBK字库

百度百科-UTF-16

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-11-17

UTF16和UTF8与GBK有以下4种区别:

1、制定机构区别

UTF8/UTF16是国际编码,又称万国码,而GBK是国家编码,即中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订

2、占用内存区别

GBK比UTF8、UTF16占用的数据库小。

3、编码单位区别

UTF8 顾名思义,是一套以8位为一个编码单位的可变长编码;而UTF16就是16位。

4.UTF-16是Unicode的其中一个使用方式。 UTF是 Unicode TransferFormat,即把Unicode转做某种格式的意思。

如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节。而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节。用4个或6个字节去编码一个UNICODE字符可能太多了,但很少会遇到那样的UNICODE字符。

GBK 亦采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 xx7F 一条线。总计 23940 个码位,共收入 21886 个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号 883 个。

扩展资料:

使用建议

1、UTF8版本虽然具有良好的国际兼容性,但中文需要比GBK版本多占用50%的数据库存储空间,因此并非推荐使用,仅供对国际兼容性有特殊要求的用户使用。

2、但如果是做英文网站开发,还是用utf-吧,因为utf8中英文只占一个字节。GBK中英文也是两个字节的,并且国外客户访问GBK要下载语言包。

3、如果您的网站客户群体主要是面向国内用户的,建议使用GBK版本,因为它可以节省空间,及相对utf8版本来讲稳定一些。

参考资料来源:

本回答被网友采纳
第2个回答  推荐于2019-10-22

1、制定机构区别

GBK是国家编码,即中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订;而UTF8/UTF16是国际编码,又称万国码。

2、占用空间区别

UTF8、UTF16占用的数据库比GBK大。

3、编码单位区别

UTF8 顾名思义,是一套以8位为一个编码单位的可变长编码;而UTF16就是16位。

扩展资料:

使用建议

1、UTF8版本虽然具有良好的国际兼容性,但中文需要比GBK版本多占用50%的数据库存储空间,因此并非推荐使用,仅供对国际兼容性有特殊要求的用户使用。

2、但如果是做英文网站开发,还是用utf-吧,因为utf8中英文只占一个字节。GBK中英文也是两个字节的,并且国外客户访问GBK要下载语言包。

3、如果您的网站客户群体主要是面向国内用户的,建议使用GBK版本,因为它可以节省空间,及相对utf8版本来讲稳定一些。

参考资料:

                 

本回答被网友采纳
第3个回答  2021-10-15
| UTF-8
编码规则较简单,如果只有1个字节,那最高比特位为0,如果有多个字节,那么第1个字节从最高位开始,连续有几个比特位的值为1,剩下的字节均以10开头,具体表现形式为:
0xxxxxxx:单字节编码形式;
110xxxxx 10xxxxxx:双字节编码形式;
1110xxxx 10xxxxxx 10xxxxxx:三字节编码形式;
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx:四字节编码形式。
优势在于没有字节序的概念,非常适用于字符串的网络数据传输,不需要考虑大小端问题,对于非英文网页,可以有效避免各种乱码问题。
| UTF-16
使用2个或4个字节进行存储,对于Unicode编号范围在0~FFFF之间的字符,UTF-16使用2个字节存储,不需要进行编码转换,跟UTF-32类似,对于Unicode编号范围在10000~10FFFF之间的字符,UTF-16使用4个字节存储。
优势在于常用字符都可以使用2个字节表示,所以在Windows操作系统上,特别适合使用wchar_t作为字符串的存储基类型,1个wchar_t表示1个字符,操作起来非常方便。
第4个回答  推荐于2017-09-19
Unicode的最初目标,是用1个16位的编码来为超过65000字符提供映射。但这还不够,它不能覆盖全部历史上的文字,也不能解决传输的问题(implantation head-ache's),尤其在那些基于网络的应用中。已有的软件必须做大量的工作来程序16位的数据。
因此,Unicode用一些基本的保留字符制定了三套编码方式。它们分别是UTF-8,UTF-16和UTF-32。正如名字所示,在UTF-8中,字符是以8位序列来编码的,用一个或几个字节来表示一个字符。这种方式的最大好处,是UTF-8保留了ASCII字符的编码做为它的一部分,例如,在UTF-8和ASCII中,“A”的编码都是0x41.
UTF-16和UTF-32分别是Unicode的16位和32位编码方式。考虑到最初的目的,通常说的Unicode就是指UTF-16。在讨论Unicode时,搞清楚哪种编码方式非常重要。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网