Я использую класс Apple NSXMLParser для загрузки данных. У меня есть отдельная структура для сериализации моих данных.
Мне надоело длинное тире, кавычки Word и т. Д., Которые появляются в моем выводе XML и вызывают ошибки при синтаксическом анализе, что часто приводит к потере данных из-за плохая обработка этих символов парсером.
Если у меня есть ввод пользователя как объект NSString, я хочу преобразовать его в Base64 (для которого у меня есть служебный метод), затем запишите эти байты в файл XML вместо NSString. Я понимаю, что это может занять больше места, но, по крайней мере, мне больше не придется заниматься проблемами валидации.
Мой вопрос: как преобразовать байты NSData (которые выглядят как < 8d72 ...>
в операторе NSLog) в NSString, без с использованием кодирования для возврата исходного значения. Я хочу, чтобы эти фактические байты, как они появляются в операторе журнала, были преобразованы в NSString. И наконец (при загрузке сериализованных данных), если у вас есть NSString:
NSString *loadedData = @"8d72...";
Как перейти от этой формы к удобочитаемому формату? Мне немного сложно понять весь процесс кодирования, но я думаю, что это действительно надежный способ гарантировать, что странный ввод пользователя правильно сохраняется в моих файлах XML.