вызов JNI эквивалентен MultiByteToWideChar (…)?

Я использовал WideCharToMultiByte, но я заменил его на env-> GetStringUTFChars.

Теперь я хочу заменить MultiBytetoWideChar эквивалентным вызовом JNI env.

Существует ли звонок? Это GetStringChars?

0

Решение

Java очень способна к преобразованию между многочисленными наборами символов / кодировками. JNI, само по себе, нет.

NewStringUTF принимает измененную строку Unicode в кодировке UTF-8. NewString принимает строку Unicode в кодировке UTF-16, но если вы не взаимодействуете с .NET, вряд ли у вас это будет.

Вместо этого вы должны использовать создать Java byte[] массив из вашей строки, получить String метод конструктора и передать его byte[] массив и, необязательно, имя вашего набора символов / кодировки. Если вы не передадите набор символов / кодировку, JVM будет использовать текущий «родной» из вашей системы (который может зависеть от настроек потока, пользовательских настроек и т. Д.).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]