преобразование странного std :: string в NSString

0

У меня странная ситуация, когда я пытаюсь преобразовать std :: string в NSString.

Я пробовал обычный метод, который обычно работает: [NSString stringWithUTF8String: myCppString.c_str()];

Тем не менее, я получаю нуль. Я думаю, что это имеет какое-то отношение к странным персонажам. Это в основном потому, что я видел следующее в данных о расследовании:

Изображение 174551

Обратите внимание на отмеченные вопросительные знаки. Я попробовал другой вызов, который я нашел при просмотре SO, но он тоже не работал: [NSString stringWithCString: myCppString encoding: NSUTF8StringEncoding];

Я могу напечатать строку как const char * и как std :: string, как вы видели из журналов. Строка c++ была сделана с помощью ostringstream, если это имеет какое-либо влияние. Данные поступают с сервера, который должен быть UTF-8 и передается через json в базу данных sqlite.

У вас есть какие-либо советы о том, как я могу заставить NSString работать?

=== [EDIT] === Это то, что вышло за шестнадцатеричные данные по одной конкретной причине с перевернутыми вопросительными знаками.

Изображение 174551

  • 1
    Шестнадцатеричный дамп поможет определить кодировку и непечатные символы.
  • 0
    Если вы предоставляете шестнадцатеричный дамп, скопируйте / вставьте его в свой вопрос.
Теги:
nsstring
stdstring

1 ответ

0
Лучший ответ

Оказывается, что странные символы представляли несуществующим, которые читались в моем конкретном случае, я читал ключ карты и не проверял, вернула ли команда find myMap.end().

Благодарим вас за то, что вы изучили мой вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню