如何理解java中string的代码点和代码单元,他们在什么情况下会不一样?

解决方案 »

  1.   

    代码点和代码单元都是unicode码中的符号,唯一的区别就是在输入的字符串中的字符是汉字时,汉字时2个字节,第一个是它本身,第二个用方法获得是“”(注意不是null)
      

  2.   

    这个我也经常混淆。
    你先看
    http://book.51cto.com/art/200808/85420.htm
    然后进入:
    http://www.unicode.org/解释都不太一样,在unicode中的解释,代码点就是字符集中的位置,unicode大约有35000个代码点。这句话来源于window编程的书籍中。概念害死人呀!!!
      

  3.   

    这是 Unicode 中的术语代码点是一个 Unicode 字符在 Unicode 编码中的位置代码单元是指 Unicode 各编码格式最小的比特位,比如 UTF-8 是采用 8 位为最小单元的,UTF-16 是采用 16 位为最小单元的详见 Unicode 术语说明
    http://www.unicode.org/glossary/#code_point
    http://www.unicode.org/glossary/#code_unit