unicode学习笔记

最近在作emoji的开发,须要了解到unicode的知识。学习笔记以下。java

1,unicode码是跨平台通用的,它是一个数字,表明了计算机上显示出来的符号(好比:中日韩象形文字、拉丁字符等);学习

2,unicode用数字0-0x10FFFF来映射这些字符;编码

3,UTF-8以字节为单位对unicode进行编码。可使用1~6个字节不等去表示一个unicode码,以下所示。code

Unicode/UCS-4 bit数 UTF-8 byte数
0000~007F



0~7



0XXX XXXX



1



0080~07FF




8~11




110X XXXX
10XX XXXX



2




0800~FFFF





12~16





1110XXXX
10XX XXXX
10XX XXXX



3





1 0000~1F FFFF






17~21






1111 0XXX
10XX XXXX
10XX XXXX
10XX XXXX



4






20 0000~3FF FFFF







22~26







1111 10XX
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX



5







400 0000~7FFF FFFF





27~31





1111 110X
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
6





4,softbank的encode是2个字节,以E开头;
unicode

5,java中的String使用UTF-16方式存储;开发

6,UTF-16中,字符值在U+0000到U+FFFF(注意U+D800到U+DBFF无定义)之间的字符(也叫作BMP, Basic Multilingual Plane),直接用两个字节表示。 字符值在U+10000到U+10FFFF(共有0xFFFFF个字符)之间的字符(也叫作增补字符集, supplementary characters),须要用四个字节表示。it

相关文章
相关标签/搜索