原因:
   JAVA并不能正确支持汉字!

解决方案 »

  1.   

    因为JAVA是用UNICODE码的,每个字符16位,一个汉字也是16位。
    不知道我有没有说错
      

  2.   

    z_yheart(年轻的心) 说的正确,java中的char是16位的unicode,每个汉字就是一个字符。
      

  3.   

    有什么办法没有?我想把汉字转成byte[],但是如果输入的是汉字加字符的话,长度真的和它实际对应的byte[]不符合了?我想把输入的结果变成统一的byte[]数组的
      

  4.   

    有必要吗? java用的unicode, 不管英文中文日文都是一个char, 是两个byte.
    转换成byte[]处理反而不方便.
    yourString.getBytes()可以符合你的要求.如果你的中文变乱码,这样试试:
    new String(oldString.getBytes("ISO-8859-1"),"GBK");