SoFunction
Updated on 2025-04-12

Example of encoding and decoding Url in IOS

This article mainly introduces examples of encoding and decoding Url in IOS, as follows:

1.In non-ARC mode

+ (NSString *)encodeToPercentEscapeString: (NSString *) input {    // Encode all the reserved characters, per RFC 3986    // ()

NSString *outputStr = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)input,NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]",

kCFStringEncodingUTF8);

return outputStr;

}

+ (NSString *)decodeFromPercentEscapeString: (NSString *) input {

NSMutableString *outputStr = [NSMutableString stringWithString:input];

[outputStr replaceOccurrencesOfString:@"+"

withString:@" "

options:NSLiteralSearch

range:NSMakeRange(0, [outputStr length])];

return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

2. In ARC mode

- (NSString *)encodeToPercentEscapeString: (NSString *) input{  NSString* 
outputStr = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(


                       NULL, /* allocator */

                       (__bridge CFStringRef)input,

                       NULL, /* charactersToLeaveUnescaped */

                       (CFStringRef)@"!*'();:@&=+$,/?%#[]",

                       kCFStringEncodingUTF8);
return
 outputStr;}- (NSString *)decodeFromPercentEscapeString: (NSString *) input
{NSMutableString *outputStr = [NSMutableString stringWithString:input];[outputStr replaceOccurrencesOfString:@"+"withString:@"
"options:NSLiteralSearchrange:NSMakeRange(0,
 [outputStr length])];return
 [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];}


The above is all the content of this article. I hope it will be helpful to everyone's study and I hope everyone will support me more.