Tag: multibyte

Java JNI:将多字节字符从java传递给c

我再一次搞乱java natve界面,我遇到了另一个有趣的问题。 我正在通过jni向c发送文件路径,然后进行一些I / O. 所以我遇到的最常见的问题是‘äåö’ 。 这是一个具有完全相同问题的程序的简短演示: Java的: public class java { private static native void printBytes(String text); static{ System.loadLibrary(“dll”); } public static void main(String[] args){ printBytes(“C:/Users/ä-å-ö/Documents/Bla.txt”); } } C: #include “java.h” #include JNIEXPORT void JNICALL Java_java_printBytes(JNIEnv *env, jclass class, jstring text){ const jbyte* text_input = (*env)->GetStringUTFChars(env, text, 0); jsize size = (*env)->GetStringUTFLength(env, text); […]