Метод вы цитируете считывает файл с диска с заданной кодировкой символов (например, UTF-8 или ASCII). Это не имеет никакого отношения к экранированию URL или HTML.
Если вы хотите добавить URL процентов побегов, вы хотите, этот метод:
[myString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
Убедитесь, что вы прочитали документацию по этому методу, потому что есть определенные тонкости, о том, что оно ускользает и то, что он оставляет в покое. В некоторых случаях вам, возможно, придется использовать более сложные, но более гибкие, CFURLCreateStringByAddingPercentEscapes()
. (Если вы делаете, обратите внимание, что вы можете бросить CFStringRef
в NSString *
и наоборот.)
Там нет ничего построен в том, что я не знаю, чтобы сделать объект XML/HTML-стиль побега, но эта функция должна обрабатывать основы:
NSString * convertToXMLEntities(NSString * myString) {
NSMutableString * temp = [myString mutableCopy];
[temp replaceOccurrencesOfString:@"&"
withString:@"&"
options:0
range:NSMakeRange(0, [temp length])];
[temp replaceOccurrencesOfString:@"<"
withString:@"<"
options:0
range:NSMakeRange(0, [temp length])];
[temp replaceOccurrencesOfString:@">"
withString:@">"
options:0
range:NSMakeRange(0, [temp length])];
[temp replaceOccurrencesOfString:@"\""
withString:@"""
options:0
range:NSMakeRange(0, [temp length])];
[temp replaceOccurrencesOfString:@"'"
withString:@"'"
options:0
range:NSMakeRange(0, [temp length])];
return [temp autorelease];
}
Прочитайте другие ответы для методов, которые будут приводить строки в виде XML (т. Е. Замены сущностей и