एपीआई आधारित वेब एप्लिकेशन विकसित करते समय हमें निश्चित रूप से कई वेब सेवाओं और यूआरएल के साथ बातचीत करने की आवश्यकता होती है। यूआरएल में विशेष वर्ण, खोज शब्द, प्रश्न, हेडर और कई अन्य चीजें हो सकती हैं जो हमें आवश्यक सेवा के आधार पर होती हैं। इसलिए हमें किसी प्रकार की एन्कोडिंग की आवश्यकता है ताकि हम जो URL बना रहे हैं और जिस URL को कॉल किया जा रहा है वह समान हो।
उद्देश्य सी के साथ इसे प्राप्त करने के लिए हम उपयोग कर सकते हैं -
#import "NSString+URLEncoding.h" @implementation NSString (URLEncoding) -(NSString *)urlEncodeUsingEncoding:(NSStringEncoding)encoding { return (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)self, NULL, (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ", CFStringConvertNSStringEncodingToEncoding(encoding)); } @end
उद्देश्य C में URL एन्कोडिंग प्राप्त करने का दूसरा तरीका है -
NSString *sUrl = @"https://www.myService.com/search.jsp?param= name"; NSString *encod = [sUrl stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
इसी तरह, स्विफ्ट में यूआरएल एन्कोडिंग हासिल की जा सकती है जैसे -
func getURL(str: String ) { return str.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) }
जो एक एन्कोडेड यूआरएल स्ट्रिंग वापस करने जा रहा है और इसका इस्तेमाल किया जा सकता है,
var sURL = " https://www.myService.com/search.jsp?param= name" print(getURL(sURL))
जो परिणाम के रूप में निम्नलिखित को प्रिंट करेगा।
https://www.myService.com/search.jsp?param= name