NSDictionary *someDict = [ NSDictionary dictionaryWithObjectsAndKeys:
someString, @"thestring" ];
Не забудьте о nil
страже. ;)
Вывод на консоль выглядит следующим образом:
unicode_test[3621:903] someDict:
{
thestring = "M\U00fcnster";
}
с экранированным символом Unicode строки.
Это все символы Юникода.
Есть ли какой-нибудь метод для преобразования строки NSSt в это экранированное представление?
Это делает словарь (или какой-то частный метод NSPropertyListSerialization или частная функция CFPropertyList), а не строка. Последовательность \ U в этих выходных данных является частью формата OpenStep plist. Если вы выведете plist в виде XML с помощью NSPropertyListSerialization, вы найдете код ü (в настоящее время), закодированный как голый UTF-8.
Насколько я знаю, не существует встроенного метода, публичного или приватного, который бы выполнял ту же процедуру для вас на одной строке. Самая близкая вещь - функция strvis
, но она работает побайтово; он не понимает Unicode или UTF.