Я использовал WideCharToMultiByte, но я заменил его на env-> GetStringUTFChars.
Теперь я хочу заменить MultiBytetoWideChar эквивалентным вызовом JNI env.
Существует ли звонок? Это GetStringChars?
Java очень способна к преобразованию между многочисленными наборами символов / кодировками. JNI, само по себе, нет.
NewStringUTF
принимает измененную строку Unicode в кодировке UTF-8. NewString
принимает строку Unicode в кодировке UTF-16, но если вы не взаимодействуете с .NET, вряд ли у вас это будет.
Вместо этого вы должны использовать создать Java byte[]
массив из вашей строки, получить String
метод конструктора и передать его byte[]
массив и, необязательно, имя вашего набора символов / кодировки. Если вы не передадите набор символов / кодировку, JVM будет использовать текущий «родной» из вашей системы (который может зависеть от настроек потока, пользовательских настроек и т. Д.).
Других решений пока нет …