我正在使用basic_string< wchar_t>输入并需要将其转换为jstring以通过JNI层.我想知道最好的办法是什么.我有一个函数可以从我的basic_string< wchar_t>给我一个std :: string.类型,所以答案也很酷.
干杯.
解决方法
@H_301_7@ 您需要将std :: basic_string转换为UTF-8.看看你的wstring – >字符串转换.Sun有一个JNI教程,展示了如何将char *转换为jstring(使用一些UTF转换例程).你可以使用你的wstring->字符串,然后将string.c_str()传递给NewStringUTF函数:
未经测试的代码:
JNIEXPORT jstring JNICALL StringTest(JNIEnv *env) { const char* test = "something"; return (*env)->NewStringUTF(env,test); }