java中的汉字排序和C是不一样的,java是降序排列,和C相反,所以就需要编写函数来进行转换,也就是移位。

解决方案 »

  1.   

    to: 大禹再次麻烦你,我对编码不大清楚,java是降序排列,指的是二进制完全颠倒,还是前八位跟后八位相反?能举个小例子,不胜感激!
      

  2.   

    直接用(*env)->GetStringChars(env, str, NULL);就可以,不过要处理返回的数据。
      

  3.   

    这种错误我也碰到过,是编码问题引起的.
    因为JAVA的默认编码是16位的Unicode,如果本地调用的对象使用的是8位的编码方式,那传进去一定是乱码了,反过来也一样.
    解决的办法是把二者的编码强制转换成统一的.
    如:new String("需转换的目标文本串","GB2312");即把原本是Unicode编码的自符串转换成传
    GB2312传递进本地调用的对象中.