0
HTML 파일에는 windows-1254와 같은 인코딩이 있으며 UTF-8이 있습니다. 런타임 오류가 발생할 수 있습니까? C++ 측의 문자 인코딩을 변경할 수 있습니까? char *를 바이트 배열로 변환 할 수 있습니까? 가능한 해결책은 무엇입니까?JNI - HTML 파일의 내용을 C 측에서 Java 측으로 전달합니다.
HTML 파일에는 windows-1254와 같은 인코딩이 있으며 UTF-8이 있습니다. 런타임 오류가 발생할 수 있습니까? C++ 측의 문자 인코딩을 변경할 수 있습니까? char *를 바이트 배열로 변환 할 수 있습니까? 가능한 해결책은 무엇입니까?JNI - HTML 파일의 내용을 C 측에서 Java 측으로 전달합니다.
여기 좀
http://java.sun.com/docs/books/jni/html/other.html (섹션 "8.2 쓰기 국제화 코드")
당신이 jstring으로에 기본 인코딩 된 문자열로 변환 (결국 자바로 전달에 관심이있을 수있는 기능을하시기 바랍니다 - 측, 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;
}
,
바이트 배열 괜찮을 것 –