Unicode编码

Unicode编码

来源

最早人们使用的是ACSCII编码但是这种编码方式只能表示256种字符,也就是说他仅仅对于字母语言是可行的,对于中文这样的文字语言,有上万的字符,这种字符编码方式是不可行的。所以人们又研究出一种新的编码方式也就是Unicode编码。

Unicode

Unicode编码原理非常简单就是将字符与一个编码对应,这些编码经过人为分组,每个组称为一个平面,第三个字节表示平面,后两个字节表示平面内字符的编码。也就是说每个平面有65536个编码,目前一共有17个平面(0x0000-0x10FFFF)。因为世界上总字符数在增长,Unicode的编码也是不断更新的。

UTF-8

所谓的UTF-8或者UTF-16都是将Unicode码编成计算机使用的码字的方式。Unicode仅仅是将一个字符找到了对应的编码,这个编码或长或短,比如英文字母的长度就只有一个字节的长度,而汉字则有两个字节的长度,而且二者最低位是有重叠的,我们在读到第一个字节的时候我们不知道是否该读下一个字节,来确定这个字符,所以我们必须将Unicode再次编码,编码成通过某种算法可以识别的才可以。UTF就是一种编码方式,他的编码方式是Unicode编码的长度为1字节的时候,编码方式与ASCII相同,Unicode的长度大于8时,编码第一个字节的前n位为1,n为编码后的码字的字符数,第n+1位为0,其余的字节(除第一个字节以外 的字节)每一个字节的前两位为10,上述没有提到的字节放入Unicode编码。每当我们增加一个字节的时候,这个编码可以容纳的位数便增加5(一个新字节8位减去每个字节开头的10两位和第一个字节增加的一个1)。当我们有两个字节的时候,这个码字可以容纳的位数为11,所以假设这个码字为n个字节,那么他能容纳的位数为2n+1。

更多相关内容查看我的个人博客:www.yhuiest.top

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值