// 编码
-(NSString*)URLUTF8EncodingString:(NSString *)urlStr {
// 1、 iOS7以前使用 stringByAddingPercentEscapesUsingEncoding(已遗弃)
// 2、注: CFURLCreateStringByAddingPercentEscapes和NSCharacterSet 相反, /* NSCharacterSet:当自定义字符集时,是不会被编码。默认系统字符集都要编码 CFURLCreateStringByAddingPercentEscapes:当自定义字符集时,是会被编码。默认系统字符集不编码 */
// 3、除了@"" 空,全部都会被编码 // NSCharacterSet*characterSet = [NSCharacterSet characterSetWithCharactersInString:@""];
// 4、[NSCharacterSet URLQueryAllowedCharacterSet] 系统提供的字符集,不需要编译 NSCharacterSet*characterSet = [NSCharacterSet URLQueryAllowedCharacterSet];
NSString*encodeStr = [urlStr stringByAddingPercentEncodingWithAllowedCharacters:characterSet];
return encodeStr;
}
// 解码等于nil 或者 等于自己
-(NSString*)URLUTF8DecodingString:(NSString *)urlStr {
NSString*decodedStr = urlStr;
while([decodedStr stringByRemovingPercentEncoding] != nil) {
decodedStr = [decodedStr stringByRemovingPercentEncoding];
}
return decodedStr;
}