我在OS X上的C++中使用ICU库。我所有的字符串都是UnicodeStrings,但是我需要使用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/