Как преобразовать многобайтовый UTF-8 std :: string в NSString? - PullRequest
0 голосов
/ 02 апреля 2012

У меня есть набор C ++ std::string, некоторые из которых имеют многобайтовые символы, такие как á, ä, ç, ß или ñ. Когда я конвертирую их в NSString, используя NSString stringWithUTF8String:, результирующие строки содержат странные символы, которые невозможно отрисовать.

Я также пытался NSString stringWithCString:encoding, но я не нашел ни одной работающей кодировки.

Что я делаю не так?

-

Я наконец-то решил это. Преобразование было выполнено хорошо, но символы не отображались в отладчике, когда он был подключен к телефону, но были хорошо отображены при подключении к отладчику. Проблема, с которой я столкнулся в своей программе, заключалась в том, что средство визуализации текста не поддерживало некоторые специальные символы ...

1 Ответ

0 голосов
/ 02 апреля 2012

Вы пытаетесь передать std :: string напрямую или используете метод c_str ()? Это должно работать:

std::string s = "á ä ç ß ñ";
[NSString stringWithUTF8String: s.c_str()];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...