Если вы видите искомые символы кириллицы, а не экранирование, с помощью любого метода, то вы работаете со строкой UTF-8.
Метод "-description" здесь не тот, который вы хотите использовать. Это более вероятно, чтобы показать экранированные символы; в частности, всякий раз, когда вы сохраняете значение в элементе списка свойств, таком как NSArray или NSDictionary, его-описание обычно будет экранировать любые символы, кроме простого ASCII.
NSLog - более надежное руководство, поскольку оно не использует -описание. Если он появляется в NSLog, то, вероятно, просто отлично.
Если вы хотите быть абсолютно уверены, что ваша строка правильно закодирована в UTF-8, лучший способ проверить это - показать ее. Создайте элемент текстового интерфейса (NSTextField или UITextField) в своем пользовательском интерфейсе, подключите его и установите в качестве значения строку. Если он там отображается, он правильно отформатирован.
Короткая версия : если он отображается в отладчике как экранированные символы, это не обязательно означает, что это не UTF8. Если он отображается где-либо (включая NSLog) с правильными символами, он, вероятно, в правильной кодировке Если вы хотите быть уверенным, настройте тестовый элемент интерфейса и посмотрите, как он там выглядит.