字符串Java\u2122的代码单元难道不应该是6么?我输出了该字符串的length(),应该是返回了该字符串的代码单元数量,而java各使用了4个,\u2122这个特殊符号(TM)应该占用两个呀……这里怎么只是显示占用了一个?

解决方案 »

  1.   

    5个字符
    如果你是utf-8那么就是站7个byte
    因为UTF-8格式下非ascii字符站3个byte
      

  2.   

    java的字元因為包含unicode,所以不管實際儲存在記憶體是多少長度,都算一個字元。
      

  3.   

    \u2122
    楼主,unicode 一共17个平面,这个\u2122还在基本平面吧,所以只占一个代码单元
    楼主可以参考下
    http://blog.csdn.net/fantasy0126/archive/2010/12/02/6050087.aspx
      

  4.   

    java string的length是字符集的length 比如中文:一 占两个字节 字符集的length是1如果要知道字节的length 要用.getBytes().length