Java JNI调用等价于MultiByteToWideChar(…)?

Java JNI调用等价于MultiByteToWideChar(…)?,java,c++,java-native-interface,jnienv,Java,C++,Java Native Interface,Jnienv,我使用的是WideChartMultiByte,但我用env->GetStringUTFChars替换了它 现在我想用一个JNI env等效调用替换MultiBytetoWideChar 有电话吗?是GetStringChars吗?Java非常能够在众多字符集/编码之间进行转换。JNI本身并非如此 NewStringUTF采用经过修改的UTF-8编码的Unicode字符串NewString采用UTF-16编码的Unicode字符串,但除非您与.NET交互操作,否则不太可能使用该字符串 相反,您应

我使用的是WideChartMultiByte,但我用env->GetStringUTFChars替换了它

现在我想用一个JNI env等效调用替换MultiBytetoWideChar


有电话吗?是GetStringChars吗?

Java非常能够在众多字符集/编码之间进行转换。JNI本身并非如此

NewStringUTF
采用经过修改的UTF-8编码的Unicode字符串
NewString
采用UTF-16编码的Unicode字符串,但除非您与.NET交互操作,否则不太可能使用该字符串


相反,您应该使用从字符串创建Java
byte[]
数组,获取
string
构造函数方法,并将
byte[]
数组和(可选)字符集/编码的名称传递给它。如果未传递字符集/编码,JVM将使用系统中当前的“本机”字符集/编码(这可能取决于线程设置、用户设置等)

谢谢。正在寻找char*到jstring。文档中提到了NewStringUTF,它适合我的需要。非常感谢。