在写入磁盘之前,从NSURL中修剪任何非法字符

时间:2012-10-29 21:17:42

标签: iphone objective-c nsurl

我想将一个字符串写入NSURL,其中可能包含/:等字符,文件系统不支持这些字符。有没有方便的方法来修剪这些字符?或者也许是包含所有非法字符的引用,以便我自己编写这样的方法?

1 个答案:

答案 0 :(得分:2)

用这样的东西逃脱它们可能会更好:

NSString *unescaped = @"http://www";
NSString *escapedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(
    NULL,
   (CFStringRef)unescaped,
    NULL,
   (CFStringRef)@"!*'();:@&=+$,/?%#[]",
    kCFStringEncodingUTF8);

NSLog(@"escapedString: %@",escapedString);

stated here

或者你可以剥离! *'(); :@& = + $,/? %#[]字符,如果你愿意的话。 看here for a list of reserved characters