Как мне преобразовать wstring в NSString - PullRequest
1 голос
/ 26 марта 2010

Я пытался [NSString stringWithUTF8String:(const char*)(myWString.c_str())], но это возвращает одну строку символов.

Кстати, на iPhone, если это имеет значение:)

1 Ответ

9 голосов
/ 20 октября 2012

В компиляторе Apple размер wchar_t составляет 4 байта, поэтому std::wstring кодируются в UTF32, а не в UTF16, как в Microsoft и других компиляторах.

std::wstring sCpp = L"hello";
NSString * sObjC = [[NSString alloc] initWithBytes:sCpp.data()
                                            length:sCpp.size() * sizeof(wchar_t)
                                          encoding:NSUTF32LittleEndianStringEncoding];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...