不知道有没有人知道utf-8里现在已经用到的字符最大编码是多少
解决方案 »
- 编程实现U盘自动播放的禁用和开启
- CDialogBar 下面有两棵树。下面一那棵树插入结点是抖动。
- KMeans2()函数能对图片进行聚类处理吗?
- 我在对话框初始化函数中加入了CDatabase对象,打开数据库连接,函数外CDatabase对象不可用,怎么办?
- 请问加密方法?
- 想学驱动开发,但...
- *******不允许windows的任务管理器强行关闭我的应用程序该怎么办????
- 严重问题!!!200分相送!!!COleDropTarget::Register问题
- 视频压缩……
- /////在atl接口方法申明里是不是不能用char*,如果不能用怎么????。。。。。。
- 哈哈哈哈哈哈哈哈散分。。。
- DLL映射怎么理解
0xC0-0xDF 多字节UTF-8字符的开始字节,而且据此可以判断出该UTF-8字符的长度(字节数)
0x80-0xBF 多字节UTF-8字符的跟随字节
0xFE-0xFF UTF-8未使用
所以,UTF-8编码支持的最大字符编码应该是Unicode支持的最大字符编码。理论上,UTF-8编码可以支持最大6字节:
00000000-0000007F 0xxxxxxx
00000080-000007FF 110yyyxx 10xxxxxx
00000800-0000FFFF 1110yyyy 10yyyyxx 10xxxxxx
00010000-001FFFFF 11110zzz 10zzyyyy 10yyyyxx 10xxxxxx
00020000-03FFFFFF 111110aa 10zzzzzz 10zzyyyy 10yyyyxx 10xxxxxx
04000000-7FFFFFFF 1111110a 10aaaaaa 10zzzzzz 10zzyyyy 10yyyyxx 10xxxxxxUCS4最多可以表示2^32个字符,但UTF-8最多只能表示2^31个字符,现实当中,Unicode规范根本就还没有规定这么多字符,目前最多也就规定到Plane 16,最多1114111个字符,所以网上关于UTF-8编码,大多截止到4字节:
00000000-0000007F 0xxxxxxx
00000080-000007FF 110yyyxx 10xxxxxx
00000800-0000FFFF 1110yyyy 10yyyyxx 10xxxxxx
00010000-0010FFFF 11110zzz 10zzyyyy 10yyyyxx 10xxxxxxUnicode规范规定,10FFFE和10FFFF作为内部保留,所以Plane 16支持的最大字符编码是:10FFFD
转换成UTF-8编码是:F48FBFBD但是,到底这个字符能否正常显示出来,还要看你系统里装的字体到底支持多少字符。所以,“utf-8里现在已经用到的字符最大编码是多少”这个问题的答案依赖于Unicode规范的版本、具体字体字库的支持。