iOS:转义网址链接中的特殊字符问题

1 汉字或者一般的转特殊字符转义问题, 可以直接用:

NSString *@"转化后的字符串" = [@"带转化的字符串" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

2 我在开发中还遇到 这些字符( ! * ' ( ) ; :@ & =  + $ , / ? % # [ ] )不能正常转化 .就会造成访问地址链接包含非法字符问题

解决办法:

在本类中新增一个下面的方法, 转义的时候调用这个方法来转义, 就解决了

- (NSString *)encodeToPercentEscapeString: (NSString *) input

{

NSString *outputStr = (NSString *)

CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,

(CFStringRef)input,

NULL,

(CFStringRef)@"!*'();:@&=+$,/?%#[]",

kCFStringEncodingUTF8));

return outputStr;

}

这个方法的目的就是 对这写不能正常转义的字符,进行判断, 并加以正确的转义操作!

你可能感兴趣的:(iOS:转义网址链接中的特殊字符问题)