unicode与UTF-8 UTF-16 UTF-32的关系

  1. 字符格式分为:AscII(多字节)和unicode(宽字符);
  2. unicode只作为一种字符码表,使用四个字节为每个字符编码,需要通过制定的存储方式存储,例如UTF-8,UTF-16,UTF-32;
  3. UTF-8是一种变长编码,对于一个Unicode的字符会被编码成1——4个字节,特别的,它同时兼容ascii和unicode
  4. UTF-16也是变长编码,字符会被编码成2个码元(每个码元16位),所以,UTF-16包括三种:UTF-16,UTF-16BE(大尾序),UTF-16LE(小尾序)。如果字符的Unicode 编号范围在 0 ~ FFFF 之间,UTF-16 使用两个字节存储,并且直接存储 Unicode 编号。如果字符的 Unicode 编号范围在 10000~10FFFF 之间,UTF-16 使用四个字节存储,具体来说就是:将字符编号的所有比特位分成两部分,较高的一些比特位用一个值介于D800~DBFF 之间的双字节存储,较低的一些比特位(剩下的比特位)用一个值介于 DC00~DFFF 之间的双字节存储。由于没有单字节编码,不兼容ascii。
  5. UTF-32 是定长编码,使用一个32bit对码元,码元值大小与unicode相等。同样不兼容ascii。
    参考链接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值