一、Unicode
Unicode是一个包含大多数国家文字的字符标准,给每一个字符编号,形成一个庞大的字符集。Unicode编码使用U+加上至少四位十六进制数表示。例如“友”这个字符的编码是U+53CB。
二、UTF(Unicode Ttansformation Format)
Unicode通常使用1-4个字节来表示字符。UTF是告诉计算机如何存储读取字符的一种格式。
1、UTF-32
UTF-32每个字符会读取4个字节,然后按标准转为字符。
2、UTF-8
UTF-8编码的每个字节要用字节开头的几位(bit)告诉计算机一些信息。
Binary | Comment |
0xxxxxxx | 单字节字符 |
110xxxxx | 双字节字符的首字节 |
1110xxxx | 三字节字符的首字节 |
11110xxx | 四字节字符的首字节 |
10xxxxxx | 多字节字符的后续字节 |
3、UTF-16
i、U+0000-U+FFFF
使用两个字节直接表示
ii、U+10000-U+10FFFF
a.将Unicode编码减去0x10000,得到的编码区间是0x00000-0xFFFFF(20位二进制数)。
b.将得到的编码分为两部分,每一部分为10位二进制数。
c.在高位的10bit前补上6位的标识110110。
d.在低位的10bit前补上6位的标识110111。