- 论坛徽章:
- 0
|
返回的jstring是个乱码,怎么回事?非常感谢!- //char* to jstring
- jstring stoJstring(JNIEnv* env, const char* pat)
- {
- jclass strClass = env->FindClass("Ljava/lang/String;");
- jmethodID ctorID = env->GetMethodID(strClass, "<init>", "([BLjava/lang/String;)V");
- printf("ctorID:%d\n", ctorID);
- jbyteArray bytes = env->NewByteArray(strlen(pat));
- env->SetByteArrayRegion(bytes, 0, strlen(pat), (jbyte*)pat);
- printf("bytes:%s\n", bytes);
- jstring encoding = env->NewStringUTF("utf-8");
- printf("encoding:%s\n", encoding);
- return (jstring)env->NewObject(strClass, ctorID, bytes, encoding);
- }
复制代码 |
|