Unicode编码

文章目录

Unicode编码

ref

Unicode 和 UTF-8 的关系与区别

note

相关概念

Unicode (”Universal Multiple-Octet Coded Character Set”,简称 UCS, 俗称 “unicode“)

UTF(UCS Transfer Format)

Unicode广义上分为Unicode编码集和UTF编码规则

UTF-8

一种变长编码规则,每次传输数据传8位

Unicode一个中文字符占2个字节,而UTF-8一个中文字符占3个字节,有对应规则转换

传输规则:

  • 每次只能传8位,所以范围是0-65535

  • 可以把unicode的范围划分为4个层级,对应使用1-4个字节,做成变长

  • 第一层:0-127,即 0 0 0~ 2 7 − 1 2^7-1 271

    传1个字节就行,用最高位 置1表示,即0XXXXXXX,剩下7位表示符号,对应ASCII

  • 第二层:128-2047, 2 7 2^7 27~ 2 10 − 1 2^{10}-1 2101

    传2个字节,即110XXXXX 10XXXXXX,5位表示层级,11位表示符号

  • 第三层:2048-65535, 2 10 2^{10} 210~ 2 16 − 1 2^{16}-1 2161

    传3个字节,即1110XXXX 10XXXXXX 10XXXXXX

  • 第四层:65536-…,

    传4个字节,即11110XXX 10XXXXXX 10XXXXXX 10XXXXXX,共有21位表示符号,可以表示约104万个字符

Unicode

为世界上所有字符都分配了一个唯一的数字编号

但是,只规定了每个字符的数字编号是多少,并没有规定这个编号如何存储

因此,这需要一套编码规则,比如UTF-8

Unicode用于解决

  1. 避免不同编码方案,同编码不同字符的尴尬问题
  2. 避免不同编码方案,不同编码长度的问题

解决办法

采用Unicode方案——为世界上所有字符都分配了一个唯一的数字编号,一般用十六进制表示。

其他

计算机存储的最小单位就是字节

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值