如何将wstring转换为NSString

时间:2010-03-26 10:48:13

标签: c++ iphone objective-c

我尝试了[NSString stringWithUTF8String:(const char*)(myWString.c_str())]但是返回了一个字符串。

顺便提一下,这是关于iPhone的,如果重要的话:)

1 个答案:

答案 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];