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,这样会大大的节省空间。

转载于:https://www.cnblogs.com/fengbi/archive/2012/08/26/2657393.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值