유니 코드 문자 (UTF16, 일본어, 한국어 또는 중국어와 같은 넓은 문자)를 logcat에 쓰려고합니다. 바이트는 문자 배열에있는 경우 Android ndk 로그 유니 코드 (와이드 문자)
unsigned short* text = new unsigned short[100]; // or jchar*
.... // all some unicode to the array
jstring jtext = jniEnv->NewString(text, (jsize)length);
jniEnv->CallVoidMethod(JavaClass, JavaPrintUnicode, jtext);
... // Clean up
// Then java prints it out
그러나,
__android_log_print
깨진 텍스트를 인쇄합니다 유일한 성공 (아래 예를 들어 코드)를 문자열로 자바로 전송되는 주위 작품이다. NDK (C++) 측에서 텍스트를 출력하는 방법이 있습니까?
하는 UTF-8 옵션 사용되어 있습니까? –
나는 그것을 변환하는 것이 더 힘들다. – user654628
당신의'JavaPrintUnicode()'메소드가 실제로 두포에서 무엇을하는지, UTF-16을 인쇄용으로 UTF-8로 변환한다는 것에주의하십시오. –