SWIG:对 Java 的 wchar_t 支持

Posted

技术标签:

【中文标题】SWIG:对 Java 的 wchar_t 支持【英文标题】:SWIG: wchar_t support for Java 【发布时间】:2015-09-14 19:07:36 【问题描述】:

我在 C# 中使用 %include wchar.i,它似乎对映射到 C# 的 string 的所有 wchar_t 值和数组都能正常工作。 Swig 的 Python 库还在 wchar.i 文件中包含 wchar_t 的类型映射。

Java 的库没有wchar.i。这是什么原因?以及如何实现从 C++ 中的 wchar_t 类型到 Java 中的 String 的类型映射?

【问题讨论】:

【参考方案1】:

当您使用 c++ 时,您可以尝试使用 std::wstring,因为它具有适用于所有类型的类型映射:C#、Python 和 Java。在std_wstring.i

【讨论】:

由于各种原因,我无法使用 STL。不过谢谢回复 经过一番搜索,我发现 wchar 长度取决于,在一个平台上它有 2bits 并且可以直接转换为 jchar,在其他平台上有 4bits 并且需要其他威胁,更多关于 wchar c++->Java 你可以在这个线程中找到:https://community.oracle.com/message/6466730#6466730

以上是关于SWIG:对 Java 的 wchar_t 支持的主要内容,如果未能解决你的问题,请参考以下文章

痛饮、python 和 wchar_t 问题

通过 SWIG 和 Visual Studio 2015 在 Java 中使用已编译的 DLL

SWIG 之一:基础入门

Unicode 支持需要 wchar_t 吗?

使用 SWIG 为 python2 和 python3 创建一个模块

xmake v2.5.8 发布,新增 Pascal/Swig 程序和 Lua53 运行时支持