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.

Ref

StackOverflow
StackOverflow