Преобразование NSString в данные Base64 для сериализации XML

Я использую класс Apple NSXMLParser для загрузки данных. У меня есть отдельная структура для сериализации моих данных.

Мне надоело длинное тире, кавычки Word и т. Д., Которые появляются в моем выводе XML и вызывают ошибки при синтаксическом анализе, что часто приводит к потере данных из-за плохая обработка этих символов парсером.

Если у меня есть ввод пользователя как объект NSString, я хочу преобразовать его в Base64 (для которого у меня есть служебный метод), затем запишите эти байты в файл XML вместо NSString. Я понимаю, что это может занять больше места, но, по крайней мере, мне больше не придется заниматься проблемами валидации.

Мой вопрос: как преобразовать байты NSData (которые выглядят как < 8d72 ...> в операторе NSLog) в NSString, без с использованием кодирования для возврата исходного значения. Я хочу, чтобы эти фактические байты, как они появляются в операторе журнала, были преобразованы в NSString. И наконец (при загрузке сериализованных данных), если у вас есть NSString:

NSString *loadedData = @"8d72...";

Как перейти от этой формы к удобочитаемому формату? Мне немного сложно понять весь процесс кодирования, но я думаю, что это действительно надежный способ гарантировать, что странный ввод пользователя правильно сохраняется в моих файлах XML.

5
задан Craig Otis 29 January 2011 в 17:21
поделиться