UTF-8与UTF-16 区别与效率选择

目录节

1. UTF-8 与 UTF-16的区别。  

2. 二者可否相互转换

3. 在哪些条件下使用正确的转换方式,能提高效率

 

 

1. UTF-8 与 UTF-16的区别。  

  使用 UTF-8 压缩字符串时,UTF-8分别将字符串分成1个字节、2个字节、3个字节、4个字节。

    值在 0x0080 以下 = 1字节。

    值在 0x0080~0x07FF = 2字节。

    值在 0x0800 以上 = 3字节。

    代理项则 = 4字节。

    在东亚地区,大部分是将值转换成3字节(0x0800以上)。

    使用 UTF-16 压缩字符串时,UTF-16始终将值2个字节。

    通过上面对 UTF-8 与 UTF-16 的转换字节码,就可以看出来,UTF-16相对来说,存储大容量会好一点,而存储小容量,则比较浪费,应该选择 UTF-8。

 

2. 二者可否相互转换

    一般情况下,最好 UTF-8 压缩,则用 UTF-8解压,因为两者是互不兼容的,虽然在数值上可以相互转换,但不建议这么去使用。否则会造成数据丢失的情况。

 

3. 在哪些条件下使用正确的转换方式,能提高效率

    前面已经对两种格式做了简单的编码介绍,究竟是选择 UTF-8 ,还是UTF-16,个人有以下建议:

    ⑴. 在东亚地区,使用中文去转换,则采用 UTF-16 效率会胜过 UTF-8,如果采用 UTF-8,则会采用3字节,这样会大大降低效率。

    ⑵. 根据项目的情况而定,项目中,如果进行编码的仅有因为或数值,则采用 UTF-8,这样会大大的节省空间。

posted on 2012-08-26 15:09  STM85  阅读(602)  评论(0编辑  收藏  举报

导航