Таким образом, NSXMLParser имеет проблемы с синтаксическим анализом строк с помощью кодировщика Windows-1252. Теперь я нашел решение на этой странице, чтобы преобразовать его в NSUTF8StringEncoding. Но теперь он сталкивается с символами, которые не может разобрать.
Итак, я понял, что это сработает, если я буду экранировать специальные символы, а затем перенесу их обратно после анализа. Например:
string = [string stringByReplacingOccurrencesOfString:@":" withString:@"__58__"];
Поскольку разрешено использовать символ _ без получения ошибки синтаксического анализатора, а в NSXMLParser я могу передать значение обратно в его правильный символ.
Так есть ли способ, которым я могу перебрать все символы ASCII, чтобы я мог заменить все специальные символы (кроме, конечно, <,> и _)?