关于多字节字符的编码判断

ASCII和UTF-8在0x00到0x7F都是相同的编码。多字节字符的第一个字节编码范围是从0xC0到0xFD,表明接下来有多少个字节。其他字节范围都是从0xC0到0xBF。UTF-8编码中有一段从不使用0xFE and 0xFF.UTF-8作为ASCII在多字节字符方面的补充,所以和Unicode的定义稍有不同。Unicode是2个或4个字节的字符串,分别为UCS-2和UCS-4。将一个ASCII或Latin-1的字符转成UCS-2只需简单地在每个ASCII字节前插入0x00,转成UCS-4则须在每个ASCII字节前插入三个0x00。UTF8编码后的大小是不一定,不像Unicode。UTF8是有标志位的,第一个0为标志位,剩下的表示0x00到0x7F的内容。如果是1,跟着后面如果是10表示还有一个字节(0xxxxxxx 110xxxxxx),就是两个字节。所以110表示3个字节,1110就是四个,已此类推。

附:256位编码表