我刚刚在 C/C++ 中对 ICU 进行了一些成功的测试。我需要用不同的编码(可能是 UTF-8、UTF-16LE、)解析不同的 CSV 文件,对数据进行一些修改,最后将所有内容作为 UTF-8 输出到文件中。这就是我选择ICU的原因。字符集检测通常工作得很好,字符处理和转换为 UTF-8 也是如此。
现在我想将执行 CSV 加载、操作等的库部分与 GUI 库 Nana 集成。Nana 似乎使用 std::string 和 std::wstring。
由于 ICU 在内部将所有数据存储为 UTF-16,因此在使用 ICU 时我得到了 UChars 或 UnicodeStrings。但是我怎么能将它们中的任何一个与 Nana 一起使用,而不是与 ICU “集成”?有什么方法可以将 UChar 数组转换为 wstring,或者将 UnicodeString 转换为 wstring?
在 ICU 文档中没有找到任何提示,所以......也许其他人已经在做这件事了?