您引用的方法使用给定的字符编码(例如 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];
}