0

HTML 文件的编码类似于 windows-1254,而我有 UTF-8,它是否可能导致运行时错误?我可以更改 C++ 端的字符编码吗?我可以将 char* 转换为字节数组吗?有什么可能的解决方案?

4

1 回答 1

0

请看这里

http://java.sun.com/docs/books/jni/html/other.html(“8.2 编写国际化代码”部分)

您可能有兴趣将本机编码字符串转换为 jstring(并最终将其传递给 java 端,是 JNU_NewStringNative

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;
 }  

干杯,

于 2012-07-04T08:23:16.680 回答