2012-07-04 38 views
0

HTML文件具有类似于windows-1254的编码,并且我有UTF-8,是否有可能导致运行时错误? 我可以更改C++端的字符编码吗? 我可以将char *转换为字节数组吗? 那有什么可能的解决方案?JNI - 将HTML文件的内容从C端传递到Java端

+0

字节数组会好 –

回答

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

欢呼声,

相关问题