读书人

Android JNI开发-java与c++其间的中文

发布时间: 2012-09-04 14:19:30 作者: rapoo

Android JNI开发---java与c++之间的中文字符串传递

?? 最近在做一个Android电子词典,其中在从词库中读取词条时,用到了jni---java调用c++;在java代码里调用本地方法时,难免会java与c++之间传递参数。传递的参数若是英文的话,比较好解决,网上一般都有解决方法,用着也没问题;但是在传递中文字符串时,就需要转换一下。下面就是我自己的传递方式:

?? 1.C++? --> java

??? 在C++中,解压出的词条是 jbyte* 类型的,有英文,有中文,所以,我就把这些数据以byteArray的形式给传递到java里面:

//功能:接收从java传递过来的数组//输入:lems  java传递过来的数组void   searchZNInputLemmas(JNIEnv *env, jobject obj,jbyteArray lems){    jbyte * str;     str =(jbyte *) (env)->GetByteArrayElements(lems, false);      (env)->ReleaseByteArrayElements(lems, str, 0); }

??

读书人网 >C++

热点推荐