jstring javaString;
// 创建字符串
javaString = env->NewStringUTF("hello world!");
// 获取字符串长度
jsize len = env->GetStringUTFLength(javaString);
// 转换成C格式的指针
const char *str = env->GetStringUTFChars(javaString, JNI_FALSE);
// 释放C格式的指针
env->ReleaseStringUTFChars(javaString,str);
// 释放JNI申请的内存
env->DeleteLocalRef(javaString);
JNI里面新建字符串有NewString和NewStringUTF两种方法:
- jstring NewString(const jchar *unicodeChars, jsize len);Unicode 编码
- jstring NewStringUTF(const char *bytes);UTF-8编码