El método usted cita lee un archivo de disco con una codificación de caracteres dada (como UTF-8 o ASCII). No tiene nada que ver con el escape de URL o HTML.
Si desea agregar escapa URL ciento, desea que este método:
[myString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
asegúrese de leer la documentación acerca de este método, porque hay ciertas sutilezas acerca de lo que se escapa y lo deja solo. En algunos casos, puede que tenga que usar el CFURLCreateStringByAddingPercentEscapes()
más complejo, pero más flexible. (Si lo hace, tenga en cuenta que usted puede echar CFStringRef
a NSString *
y viceversa.)
No hay nada construido en el que yo sepa hacer entidad XML/estilo HTML escapar, pero esta función debe manejar los conceptos básicos:
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];
}
Leer las otras respuestas para los métodos para citar a cadenas como XML (es decir, la sustitución entidad y