【问题标题】:convert to jstring from std::wstring从 std::wstring 转换为 jstring
【发布时间】:2018-01-17 11:23:41
【问题描述】:

我正在尝试将 wstring 从我的 cpp 代码转换为 jstring。

我知道有一个名为 NewStringUTF 的方法可以从 std::string 获取 jstring(当然是在从该字符串获取 const char* 之后)。

如果输入是 std::wstring 而不使用 iconv,我是否可以这样做?

【问题讨论】:

标签: c++ java-native-interface wstring


【解决方案1】:

JNI 有NewString(JNIEnv * , const jchar * , jsize) 功能。如果您的std::wstring::c_str() 返回与 jchar* 兼容的指针(这取决于您的平台),您可以尝试此功能。请注意,如果您的 wchar_t 是 32 位(如在 Linux 上),则不能直接使用它。请参阅 Android JNI - Reliable way to convert jstring to wchar_tHow do I convert jstring to wchar_t * 了解更多信息。

【讨论】:

    【解决方案2】:

    简单的形式是将您的 std::wstring 转换为 std::string 以使用 NewStringUTF。

    这里有一个关于转换的线程 How to convert wstring into string?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-12
      • 1970-01-01
      • 2011-01-03
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多