# How to URL encode a string (NSString) in iPhone?

When developing API based web applications we definitely need to interect with Multiple web services and URLs. The url may contain special character, search terms, queries, headers and many other things depending on the service we need. That’s why we need to have some kind of encoding so that the URL we are creating and the URL being called are same.

To achieve the same with Objective C we can use −

#import "NSString+URLEncoding.h"
@implementation NSString (URLEncoding)
-(NSString *)urlEncodeUsingEncoding:(NSStringEncoding)encoding {
(CFStringRef)self, NULL, (CFStringRef)@"!*'\"();:@&=+\$,/?%#[]% ", CFStringConvertNSStringEncodingToEncoding(encoding));
}
@end

Another way to achieve URL encoding in Objective C is −

NSString *sUrl = @"http://www.myService.com/search.jsp?param= name";
NSString *encod = [sUrl stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];

Similarly, URL encoding can be achieved in Swift like −

func getURL(str: String ) {
}
var sURL = " http://www.myService.com/search.jsp?param= name"
print(getURL(sURL))
http://www.myService.com/search.jsp?param= name