unicode utf-8 gb18030 gb2312 gbk各种编码对比(5)

00000000 00000000 0zzzzzzz 0zzzzzzz(00-7F) ASCII字符范围,字节由零开始 七个z 七个z 000080 - 0007FF
1920个代码 00000000 00000yyy yyzzzzzz 110yyyyy(C2-DF) 10zzzzzz(80-BF) 第一个字节由110开始,接着的字节由10开始 三个y;二个y;六个z 五个y;六个z 000800 - 00D7FF
00E000 - 00FFFF
61440个代码 [Note 1] 00000000 xxxxyyyy yyzzzzzz 1110xxxx(E0-EF) 10yyyyyy 10zzzzzz 第一个字节由1110开始,接着的字节由10开始 四个x;四个y;二个y;六个z 四个x;六个y;六个z 010000 - 10FFFF
1048576个代码 000wwwxx xxxxyyyy yyzzzzzz 11110www(F0-F4) 10xxxxxx 10yyyyyy 10zzzzzz 由11110开始,接着的字节由10开始 三个w;二个x;四个x;四个y;二个y;六个z 三个w;六个x;六个y;六个z

Note 1  Unicode在范围D800-DFFF中不存在任何字符,基本多文种平面中约定了这个范围用于UTF-16扩展标识辅助平面(两个UTF-16表示一个辅助平面字符)。当然,任何编码都是可以被转换到这个范围,但在unicode中他们并不代表任何合法的值。

以上这个表是php截取utf-8字符串的关键,根据每个字节的前几位的数字决定该字符占几个字节(utf-8的编码有点类似于5类IP地址的编码)

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1734.html