请高手指教!
大家知道,unicode的范围是0--0x10FFFF;
而java里的'\u'只支持0--0xFFFF, 至于0x10000-0x10FFFF这部分,是java不支持吗?
抑或有别的方式支持或考虑?谢谢

解决方案 »

  1.   

    常用汉字只有3500多个,Unicode不只是汉字的编码,还有日文,阿拉伯文等等的编码。并不是所有的汉字都在Unicode中有对应的编码。gbk才比较全。
      

  2.   

    unicode有很多子集,utf-8也是子集.
    java在中文平台上用gbk和iso-的(ascii)
      

  3.   

    谢谢回复.
    与其说utf-8是unicode的子集,不如说是建立在unicode子集上的编码方式.
      

  4.   

    0x10000~0x10FFFF 是 Unicode 5.0 的标准,必须采用 JDK 5 及以上的版本才能支持。高于 U+FFFF 的字符称为“增补字符”,根据 Unicode 标准需要采用代理对的方式才能表示。在 JDK 中需要使用两个 char:char[] ch = Character.toChars(0x10773);
      

  5.   

    太感谢9楼拉.对,就是supplementary char.
      

  6.   

    增补字符用int.
    (char)(Integer.parseInt("10ffff", 16))