我在 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并阅读了有关使用转换器的信息,但我仍然感到困惑. 任何帮助将非常感激。