URL Encode/Decode in iOS

encode:

-(NSString *)encodeUrlString:(NSString *)string {
  return CFBridgingRelease(
                    CFURLCreateStringByAddingPercentEscapes(
                        kCFAllocatorDefault,
                        (__bridge CFStringRef)string,
                        NULL,
                        CFSTR("!*'();:@&=+$,/?%#[]"),
                        kCFStringEncodingUTF8)
                    );
}

decode:

- (NSString*) decodeUrlString:(NSString *) string {
  return CFBridgingRelease(
                    CFURLCreateStringByReplacingPercentEscapesUsingEncoding(
                        kCFAllocatorDefault,
                        (__bridge CFStringRef)string,
                        CFSTR(""),
                        kCFStringEncodingUTF8)
                    );
}