不知道有没有人知道utf-8里现在已经用到的字符最大编码是多少

解决方案 »

  1.   

    什么意思,看来我还是不了解UTF8啊
      

  2.   

    0x00-0x7F  同ASCII,也不可能作为任何其他多字节UTF-8字符的一部分
    0xC0-0xDF  多字节UTF-8字符的开始字节,而且据此可以判断出该UTF-8字符的长度(字节数)
    0x80-0xBF  多字节UTF-8字符的跟随字节
    0xFE-0xFF  UTF-8未使用
      

  3.   

    这个问题不好回答,首先UTF-8编码只不过是一种Unicode的转换,兼容ASCII。
    所以,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规范的版本、具体字体字库的支持。
      

  4.   

    utf8就是unicode的一种体现,utf8跟utf16是等价的
      

  5.   

    实际被谁用到的啊?Windows只支持UCS2,相当于只实现了Plane 0,能显示出来的UTF-8字符不超过3字节。Linux支持UTF-8和UCS4,不同系统支持的也不一样。没有一个全球统一标准说UTF-8目前支持到多少字符了。unicode.org也支持一个规范,各个厂家也不会100%按照这个规范来实现。
      

  6.   

    UTF8 是对Unicode 的一种编码,其范围由Unicode 的范围决定Unicode 分 UCS-2,UCS-4UCS-2 是2个字节范围为 0x0000 - 0xFFFF,其中有一部分为高位替代专用,不代表一个字符UCS-4 是4个字节UCS-4 除了包括UCS-2外,另外有在使用的是 平面1,2,16等范围为 0x0000 0000 - 0x0010 0000一般平面1,2,等很少用到,所以考虑UCS-2 部分即可
      

  7.   

    知道utf-8但没有实际接触,我的理解3楼PRCLionel是对的,学习了。