我尝试了[NSString stringWithUTF8String:(const char*)(myWString.c_str())]
但是返回了一个字符串。
顺便提一下,这是关于iPhone的,如果重要的话:)
答案 0 :(得分:9)
在Apple编译器中,wchar_t
的大小为4个字节,因此std::wstring
以UTF32编码,而不是像Microsoft和其他编译器那样以UTF16编码。
std::wstring sCpp = L"hello";
NSString * sObjC = [[NSString alloc] initWithBytes:sCpp.data()
length:sCpp.size() * sizeof(wchar_t)
encoding:NSUTF32LittleEndianStringEncoding];