如何将 jstring 转换为 wchar

编程入门 行业动态 更新时间:2024-10-24 16:33:49
本文介绍了如何将 jstring 转换为 wchar_t *的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

假设在 C++ 端,我的函数采用类型为 jstring 的变量,名为 myString.我可以将其转换为 ANSI 字符串,如下所示:

Let's say that on the C++ side my function takes a variable of type jstring named myString. I can convert it to an ANSI string as follows:

const char* ansiString = env->GetStringUTFChars(myString, 0);

有没有办法获得

const wchar_t* unicodeString = ...

推荐答案

如果这对某人有帮助...我已经将此功能用于 Android 项目:

If this helps someone... I've used this function for an Android project:

std::wstring Java_To_WStr(JNIEnv *env, jstring string) { std::wstring value; const jchar *raw = env->GetStringChars(string, 0); jsize len = env->GetStringLength(string); const jchar *temp = raw; while (len > 0) { value += *(temp++); len--; } env->ReleaseStringChars(string, raw); return value; }

改进的解决方案可能是(感谢您的反馈):

An improved solution could be (Thanks for the feedback):

std::wstring Java_To_WStr(JNIEnv *env, jstring string) { std::wstring value; const jchar *raw = env->GetStringChars(string, 0); jsize len = env->GetStringLength(string); value.assign(raw, raw + len); env->ReleaseStringChars(string, raw); return value; }

更多推荐

如何将 jstring 转换为 wchar

本文发布于:2023-10-07 14:35:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1469649.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:转换为   如何将   jstring   wchar

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!