Преобразование из базовой_строки в jstring - PullRequest
8 голосов
/ 09 августа 2011

Я использую тип basic_string<wchar_t> и мне нужно преобразовать его в jstring для прохождения через слой JNI.Мне интересно, как это лучше всего сделать.У меня есть функция, которая может дать мне std::string от моего типа basic_string<wchar_t>, поэтому ответ на этот вопрос также будет классным.

Приветствия.

1 Ответ

5 голосов
/ 21 мая 2012

Вам нужно будет преобразовать std :: basic_string в UTF-8. Посмотрите, что делает ваше преобразование wstring -> string.

У Sun есть руководство по JNI, в котором показано, как преобразовать char * в jstring (используя некоторые процедуры преобразования UTF). Вы можете использовать вашу строку wstring-> string, а затем передать string.c_str () в функцию NewStringUTF:

непроверенный код:

JNIEXPORT jstring JNICALL StringTest(JNIEnv *env) {
    const char* test = "something";
    return env->NewStringUTF(test);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...