Android JNI-将html文件的内容从C端传递到Java端
HTML文件有一个类似于windows-1254的编码,我有UTF-8,它是否可能导致运行时错误? 我能改变C++的字符编码吗? 我可以将char*转换为字节数组吗?Android JNI-将html文件的内容从C端传递到Java端,android,java-native-interface,Android,Java Native Interface,HTML文件有一个类似于windows-1254的编码,我有UTF-8,它是否可能导致运行时错误? 我能改变C++的字符编码吗? 我可以将char*转换为字节数组吗? 有什么可能的解决方案?请看这里 第8.2节编写国际化代码 您可能对将本机编码字符串转换为jstring并最终将其传递给java端感兴趣的函数是JNU_Newstringative jstring JNU_NewStringNative(JNIEnv *env, const char *str) { jstring r
有什么可能的解决方案?请看这里 第8.2节编写国际化代码 您可能对将本机编码字符串转换为jstring并最终将其传递给java端感兴趣的函数是JNU_Newstringative
jstring JNU_NewStringNative(JNIEnv *env, const char *str)
{
jstring result;
jbyteArray bytes = 0;
int len;
if ((*env)->EnsureLocalCapacity(env, 2) < 0) {
return NULL; /* out of memory error */
}
len = strlen(str);
bytes = (*env)->NewByteArray(env, len);
if (bytes != NULL) {
(*env)->SetByteArrayRegion(env, bytes, 0, len,
(jbyte *)str);
result = (*env)->NewObject(env, Class_java_lang_String,
MID_String_init, bytes);
(*env)->DeleteLocalRef(env, bytes);
return result;
} /* else fall through */
return NULL;
}
干杯