JNI中如何把char * 转化为jstring
1个回答
展开全部
//获取java String类方法String(byte[],String)的构造器,用于将本地byte[]数组转换为一个新String
jmethodID ctorID = (env)-GetMethodID(strClass, "<init", "([BLjava/lang/String;)V");
//建立byte数组
jbyteArray bytes = (env)-NewByteArray((jsize)strlen(pat));
//将char* 转换为byte数组
(env)-SetByteArrayRegion(bytes, 0, (jsize)strlen(pat), (jbyte*)pat);
//设置String, 保存语言类型,用于byte数组转换至String时的参数
jstring encoding = (env)-NewStringUTF("utf-8");
//将byte数组转换为java String,并输出
jmethodID ctorID = (env)-GetMethodID(strClass, "<init", "([BLjava/lang/String;)V");
//建立byte数组
jbyteArray bytes = (env)-NewByteArray((jsize)strlen(pat));
//将char* 转换为byte数组
(env)-SetByteArrayRegion(bytes, 0, (jsize)strlen(pat), (jbyte*)pat);
//设置String, 保存语言类型,用于byte数组转换至String时的参数
jstring encoding = (env)-NewStringUTF("utf-8");
//将byte数组转换为java String,并输出
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询