iOS URL Encode Decode
URL Encode, Decode, you sometimes need
Encode
CFStringRef encodedCFString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef) self, nil, CFSTR("?!@#$^&%*+,:;='\"`<>()[]{}/\\| "), kCFStringEncodingUTF8); NSString *encodedString = [[NSString alloc] initWithString:(__bridge_transfer NSString*) encodedCFString]; if(!encodedString) encodedString = @""; return encodedString;
self is before encoded NSString
Decode
CFStringRef decodedCFString = CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, (__bridge CFStringRef) self, CFSTR(""), kCFStringEncodingUTF8); NSString *decodedString = [[NSString alloc] initWithString:(__bridge_transfer NSString*) decodedCFString]; return (!decodedString) ? @"" : [decodedString stringByReplacingOccurrencesOfString:@"+" withString:@" "];
keyword is before decoded.
MKNetworkKit has useful encode and decode methods in its Categories.