将 ICU UnicodeString 转换为平台相关的 char * (或 std::string)

Tra*_*han 1 c++ string icu

在我的应用程序中,我使用 ICU UnicodeString 来存储我的字符串。由于我使用一些与 ICU 不兼容的库,因此我需要将 UnicodeString 转换为其平台相关的表示形式。

基本上我需要做的是逆向处理形式创建新的 UnicodeString 对象 - new UnicodeString(“在系统区域设置中编码的字符串”)。

我发现了这个主题 - 所以我知道它可以通过使用 stringstream 来完成。

所以我的答案是,是否可以通过其他更简单的方式来完成,而不使用 stringstream 进行转换?

小智 6

我用

std::string converted;
us.toUTF8String(converted);
Run Code Online (Sandbox Code Playgroud)

我们是 (ICU) UnicodeString