UnicodeString到char*(UTF-8)

zfe*_*dsa 8 c++ windows utf-8 internationalization icu

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

Ste*_*mis 7

调用UnicodeString::extract(...)提取到char*,为转换器传递NULL以获取默认转换器(在您的操作系统将使用的charset中).