Проблема с самим NSArray.Кажется, что строка UTF8 выводится в шестнадцатеричном виде.
Как я отметил в своем комментарии, строка не является UTF-8.Строки не имеют ничего общего с кодировками, кроме случаев, когда вы создаете их из данных или создаете из них данные.
Вот как выглядит строка из функции NSLog:
2010-08-23 11:23:56.411 Emoticon[7919:a0f] (
"\\(\U2579\U30ee\U2579 )/"
)
NSArray описывает себя, возвращая строку в формате списка свойств старого стиля.Этот формат должен быть ASCII, поэтому массиву удаляются не-ASCII символы строки с этими \U
последовательностями.Это работает так, как должно, и зависит от описания массива.Строка остается неизменной, как вы увидите, если вы зарегистрируете строку напрямую.
Если вы хотите поместить массив в буфер обмена, просто сделайте это.Вы должны создать унифицированный идентификатор типа (yourdomain.yourappname.typename) и указать монтажной панели установить массив в качестве значения списка свойств для этого типа.Вы также можете указать массиву присоединиться к строкам, используя некоторый разделитель (например, @"\n"
), и поместить эту строку на монтажный стол под типом строки, чтобы легко вставить текстовые редакторы и текстовые поля.