相关概念:
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 27−1
传1个字节就行,用最高位 置1表示,即0XXXXXXX
,剩下7位表示符号,对应ASCII
第二层:128-2047, 2 7 2^7 27~ 2 10 − 1 2^{10}-1 210−1
传2个字节,即110XXXXX 10XXXXXX
,5位表示层级,11位表示符号
第三层:2048-65535, 2 10 2^{10} 210~ 2 16 − 1 2^{16}-1 216−1
传3个字节,即1110XXXX 10XXXXXX 10XXXXXX
第四层:65536-…,
传4个字节,即11110XXX 10XXXXXX 10XXXXXX 10XXXXXX
,共有21位表示符号,可以表示约104万个字符
Unicode:
为世界上所有字符都分配了一个唯一的数字编号
但是,只规定了每个字符的数字编号是多少,并没有规定这个编号如何存储
因此,这需要一套编码规则,比如UTF-8
Unicode用于解决:
解决办法:
采用Unicode方案——为世界上所有字符都分配了一个唯一的数字编号,一般用十六进制表示。
其他:
计算机存储的最小单位就是字节