如何将wstring转换为NSString

Har*_*sen 2 c++ iphone objective-c

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

顺便说一句,这是在iPhone上,如果这很重要:)

小智 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];
Run Code Online (Sandbox Code Playgroud)