1,解码:
//iOS9.0(包括9.0)以上使用
NSString *decodeUrl = [str stringByRemovingPercentEncoding];
//iOS9.0以下使用
NSString *decodeUrl = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
2,编码
//iOS9.0(包括9.0)以上使用
NSString *encodeUrl = [str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
//iOS9.0以下使用
NSString *encodeUrl = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
3,过滤掉特殊字符编码
/**
* @brief 编码URL字符串 过滤-_.!~*;/?:@&=+$,#
*
* @return 编码后的URL
*/
-(NSString *)encodeUrlString {
NSString * urlNoBlank = [self trim];
NSMutableCharacterSet *lastSet = [[NSMutableCharacterSet alloc] init];
[lastSet formUnionWithCharacterSet:[NSCharacterSet characterSetWithCharactersInString:@"-_.!~*;/?:@&=+$,#"]];
[lastSet formUnionWithCharacterSet:[NSCharacterSet letterCharacterSet]];
[lastSet formUnionWithCharacterSet:[NSCharacterSet alphanumericCharacterSet]];
NSString * escapedQueryWord = [urlNoBlank stringByAddingPercentEncodingWithAllowedCharacters:lastSet];
return escapedQueryWord;
}
网友评论