我在 OS X 上使用 C++ 中的 ICU 库。我所有的字符串都是 UnicodeString,但我需要使用 fopen、fread 等系统调用。这些函数将 const char* 或 char* 作为参数。我读过 OS X 内部支持 UTF-8,所以我需要做的就是将我的 UnicodeString 转换为 UTF-8,但我不知道该怎么做。
UnicodeString 有一个 toUTF8() 成员函数,但它返回一个 ByteSink。我还找到了这些示例:http://source.icu-project.org/repos/icu/icu/trunk/source/samples/ucnv/convsamp.cpp并阅读有关使用转换器的信息,但我仍然感到困惑。任何帮助将非常感激。
最佳答案
调用 UnicodeString::extract(...)
将其提取到一个 char* 中,为转换器传递 NULL 以获取默认转换器(在您的操作系统将使用的字符集中) .
关于c++ - UnicodeString 到 char* (UTF-8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3150581/