मैं URL को एक स्ट्रिंग कैसे एन्कोड करता हूं


189

मेरे पास NSStringरिक्त स्थान और &वर्णों के साथ एक URL स्ट्रिंग ( ) है । मैं पूरे स्ट्रिंग ( &एम्परसेंड चरित्र और रिक्त स्थान सहित ) को कैसे आरेखित करूं?


1
इस प्रश्न की जाँच करें - stackoverflow.com/questions/21403323/url-encoding-a-string/…
अक्षय नलवाडे

जवाबों:


291

दुर्भाग्य से, stringByAddingPercentEscapesUsingEncodingहमेशा 100% काम नहीं करता है। यह गैर-URL वर्णों को एनकोड करता है लेकिन आरक्षित वर्णों (जैसे स्लैश /और एम्परसैंड &) को अकेला छोड़ देता है। जाहिरा तौर पर यह एक बग है, जिसके बारे में Apple को पता है, लेकिन चूंकि उन्होंने इसे अभी तक ठीक नहीं किया है, इसलिए मैं इस श्रेणी का उपयोग एक स्ट्रिंग-एनलोड करने के लिए कर रहा हूं:

@implementation NSString (NSString_Extended)

- (NSString *)urlencode {
    NSMutableString *output = [NSMutableString string];
    const unsigned char *source = (const unsigned char *)[self UTF8String];
    int sourceLen = strlen((const char *)source);
    for (int i = 0; i < sourceLen; ++i) {
        const unsigned char thisChar = source[i];
        if (thisChar == ' '){
            [output appendString:@"+"];
        } else if (thisChar == '.' || thisChar == '-' || thisChar == '_' || thisChar == '~' || 
                   (thisChar >= 'a' && thisChar <= 'z') ||
                   (thisChar >= 'A' && thisChar <= 'Z') ||
                   (thisChar >= '0' && thisChar <= '9')) {
            [output appendFormat:@"%c", thisChar];
        } else {
            [output appendFormat:@"%%%02X", thisChar];
        }
    }
    return output;
}

इस तरह इस्तेमाल किया:

NSString *urlEncodedString = [@"SOME_URL_GOES_HERE" urlencode];

// Or, with an already existing string:
NSString *someUrlString = @"someURL";
NSString *encodedUrlStr = [someUrlString urlencode];

यह भी काम करता है:

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

विषय के बारे में कुछ अच्छे पढ़ने:

उद्देश्य-सी iPhone प्रतिशत एक स्ट्रिंग सांकेतिक शब्दों में बदलना?
उद्देश्य-सी और स्विफ्ट URL एन्कोडिंग

http://cybersam.com/programming/proper-url-percent-encoding-in-ios
https://devforums.apple.com/message/15674#15674 http://simonwoodside.com/weblog/2009/4/ 22 / how_to_really_url_encode /


12
धरती पर आप केवल CFURLCreateStringByAddingPercentEscapes () को छोड़ने के बजाय इस तरह की एक जटिल श्रेणी का उपयोग करेंगे , जहां आप स्पष्ट रूप से निर्दिष्ट कर सकते हैं कि आप किन वर्णों से हमेशा बचना चाहते हैं।
लिली बॉलर

8
@KevinBallard क्योंकि CF फ़ंक्शन एक समावेशी मॉडल ("इन वर्णों से बाहर निकलें") पर काम करता है, और आमतौर पर आप एक अनन्य मॉडल पर काम करना चाहते हैं (" इन वर्णों को छोड़कर सब कुछ ")
डेव डोंगलोंग


31
@DaveDeLong वह हो सकता है जहां मुझे मिला है। यह एक या दो साल के लिए मेरी सभी परियोजनाओं में एक मानक श्रेणी है, इसलिए मुझे लगता है कि आप मूल स्रोत रहे होंगे! मैंने शब्दांकन संपादित किया है इसलिए ऐसा नहीं लगता कि मैं इसे लिखने का श्रेय लेने की कोशिश कर रहा हूं)।
chown

4
क्यों? if (thisChar == '') {[आउटपुट appendString: @ "+"]; } इस के साथ अगर यह 20% के साथ रिक्त स्थान को सांकेतिक शब्दों में बदलना होगा जैसा कि मैं उम्मीद करूंगा
क्रिस स्टीफंस

127

यह मददगार हो सकता है

NSString *sampleUrl = @"http://www.google.com/search.jsp?params=Java Developer";
NSString* encodedUrl = [sampleUrl stringByAddingPercentEscapesUsingEncoding:
 NSUTF8StringEncoding];

IOS 7+ के लिए, अनुशंसित तरीका है:

NSString* encodedUrl = [sampleUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

आप URL घटक की आवश्यकता के अनुसार निर्धारित वर्ण चुन सकते हैं।


7
यह भी 'और', 'जैसे पैरामीटर परिसीमन को सही ढंग से एनकोड नहीं करता है?' उस स्थिति में जहां आप एक एपीआई में सामग्री पारित कर रहे हैं।
बेन लछमन

URL क्वेरी स्ट्रिंग पैरामीटर के लिए 'और' एक मान्य वर्ण नहीं है। कृपया '& amp;' का उपयोग करने का प्रयास करें बजाय।
निशांत

1
stringByAddingPercentEscapesUsingEncoding को " -stringByAddingPercentEncodingWithAllowedCharacters:इसके बजाय उपयोग करें , जो हमेशा अनुशंसित UTF-8 एन्कोडिंग का उपयोग करता है, और जो प्रत्येक URL घटक या उपसमुदाय के बाद से एक विशिष्ट URL घटक या उपसंकेत के लिए एन्कोड करता है, जो वर्ण मान्य हैं के लिए अलग-अलग नियम हैं।"
मिहिर ओझा

89

उत्तर चुने जाने के बाद से नए एपीआई जोड़े गए हैं; अब आप NSURLUtilities का उपयोग कर सकते हैं। चूंकि URL के विभिन्न भाग विभिन्न वर्णों को अनुमति देते हैं, इसलिए लागू वर्ण सेट का उपयोग करें। निम्नलिखित उदाहरण क्वेरी स्ट्रिंग में शामिल करने के लिए एन्कोड करता है:

encodedString = [myString stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet];

विशेष रूप से 'और' को परिवर्तित करने के लिए, आपको URL क्वेरी सेट से इसे निकालने या किसी अन्य सेट का उपयोग करने की आवश्यकता होगी, क्योंकि URL क्वेरी में '&' की अनुमति है:

NSMutableCharacterSet *chars = NSCharacterSet.URLQueryAllowedCharacterSet.mutableCopy;
[chars removeCharactersInRange:NSMakeRange('&', 1)]; // %26
encodedString = [myString stringByAddingPercentEncodingWithAllowedCharacters:chars];

1
मुझे यह पता लगाने में थोड़ा समय लगा कि आपको "NSURLUtilities का उपयोग करें" से क्या मतलब है - लेकिन अब मैं देखता हूं कि यह NSString की श्रेणी का नाम है जिसमें Apple ने iOS 7 और OS X 10.9 में इस नई विधि को परिभाषित किया है।
रिचर्ड वेनटेबल

1
इस तरह एक अधिक विस्तृत जवाब है: stackoverflow.com/a/20271177/456366
रिचर्ड वेनबल

हाँ। जारी की गई नई एपीआई की लिस्टिंग में इसे NSURLUtilities के रूप में भी सूचीबद्ध किया गया था।
पीटर डेविस

'और' निश्चित रूप से एक क्वेरी स्ट्रिंग में अनुमत है, इसलिए मैं रिचर्ड के लिंक का उपयोग करके अपने उत्तर को संपादित करूंगा।
पीटर डिविज़ जूल

3
NSMakeRange('&', 1)स्विफ्ट में काम नहीं करता है, क्योंकि स्विफ्ट चार को बिना हैक्स के इंट कन्वर्जन की अनुमति नहीं देता है। इस समाधान का उपयोग स्विफ्ट कोड में removeCharactersInString("&")करने के लिए.removeCharactersInRange(...)
cbh2000

16

स्विफ्ट 2.0 का उदाहरण (iOS 9 कम्पेटिबल)

extension String {

  func stringByURLEncoding() -> String? {

    let characters = NSCharacterSet.URLQueryAllowedCharacterSet().mutableCopy() as! NSMutableCharacterSet

    characters.removeCharactersInString("&")

    guard let encodedString = self.stringByAddingPercentEncodingWithAllowedCharacters(characters) else {
      return nil
    }

    return encodedString

  }

}

2
@AlecThomas आपको यहां पहुंचने के लिए कुछ हुप्स के माध्यम से कूदना पड़ता है, यही कारण है कि इसका विस्तार में इसे छिपाने के लिए बेहतर है
ओलिवर एटकिंसन

@ ऑलिअटकिंसन - मेरे लिए इंट (स्ट्रिंग (चरित्र ("और"))) शून्य देता है, जैसा कि यह होना चाहिए। इसके बजाय character.removeCharactersInString ("और")।
11

14

आईओएस 7 अपडेट

NSString *encode = [string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

NSString *decode = [encode stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

यह गलत है। आप URL के विभिन्न हिस्सों को अलग-अलग तरीके से बचाना चाहेंगे। stackoverflow.com/questions/3423545/…
स्टीव मोजर

यह वास्तव में अनुमत वर्णों के लिए आपके सर्वर पर निर्भर करता है, यहां सर्वर में मेरे उदाहरण पर मैं इसका उपयोग केवल अल्फ़ान्यूमेरिक वर्ण सेट की अनुमति दे रहा था, आप अपनी आवश्यकताओं को पूरा करने के लिए विशिष्ट वर्णों में बदल सकते हैं।
अंडरडॉग

1
प्रश्न 'और' वर्ण एन्कोडिंग के बारे में पूछता है।
स्टीव मोजर

8

मैंने CFURLCreateStringByAddingPercentEscapesकॉल को स्वीकार किए गए उत्तर के रूप में उपयोग करने का विकल्प चुना , हालांकि XCode (IOS) के नवीनतम संस्करण में, इसके परिणामस्वरूप त्रुटि हुई, इसलिए इसके बजाय निम्नलिखित का उपयोग किया:

NSString *apiKeyRaw = @"79b|7Qd.jW=])(fv|M&W0O|3CENnrbNh4}2E|-)J*BCjCMrWy%dSfGs#A6N38Fo~";

NSString *apiKey = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)apiKeyRaw, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8));

यह एन्कोडिंग स्थान नहीं है। उदाहरण @ "स्ट्रिंग स्ट्रिंग" और @ "स्ट्रिंग और स्ट्रिंग" ठीक से एन्कोडेड है। कृपया मुझे उसी पर अपना इनपुट बताएं।
योगेश लोलुसरे १२'१४

2
मेरे लिए ज्यादातर समय इसे हल करने में लगा हुआ था, यह इनकार की अवधि थी, जहां मैंने यह मानने से इनकार कर दिया था कि फ्रेमवर्क में 'urlencode' के समान कुछ नहीं है, जो चारों ओर गड़बड़ी किए बिना ऐसा करता है ..
dancl

6

इसके stringByAddingPercentEncodingWithAllowedCharactersसाथ विधि का उपयोग करने का प्रयास करें [NSCharacterSet URLUserAllowedCharacterSet]यह सभी मामलों को कवर करेगा

उद्देश्य सी

NSString *value = @"Test / Test";
value = [value stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLUserAllowedCharacterSet]];

तीव्र

var value = "Test / Test"
value.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLUserAllowedCharacterSet())

उत्पादन

Test%20%2F%20Test


6

इस विषय के सभी उत्तरों और गलत ( गलत ) को स्वीकार करने के बाद, मैं अपना योगदान जोड़ना चाहता हूं।

अगर लक्ष्य iOS7 + है, और 2017 में यह तब से होना चाहिए क्योंकि XCode को iOS8 के तहत संगतता प्रदान करना वास्तव में कठिन है, सबसे अच्छा तरीका है, थ्रेड सुरक्षित, तेज, amd यह करने के लिए पूरा UTF-8 समर्थन करेगा:

(उद्देश्य सी कोड)

@implementation NSString (NSString_urlencoding)

- (NSString *)urlencode {
    static NSMutableCharacterSet *chars = nil;
    static dispatch_once_t pred;

    if (chars)
        return [self stringByAddingPercentEncodingWithAllowedCharacters:chars];

    // to be thread safe
    dispatch_once(&pred, ^{
        chars = NSCharacterSet.URLQueryAllowedCharacterSet.mutableCopy;
        [chars removeCharactersInString:@"!*'();:@&=+$,/?%#[]"];
    });
    return [self stringByAddingPercentEncodingWithAllowedCharacters:chars];
}
@end

यह NSString का विस्तार करेगा, RFC निषिद्ध वर्णों को बाहर करेगा, UTF-8 वर्णों का समर्थन करेगा, और आपको निम्नलिखित चीजों का उपयोग करने देगा:

NSString *myusername = "I'm[evil]&want(to)break!!!$->àéìòù";
NSLog(@"Source: %@ -> Dest: %@", myusername, [myusername urlencode]);

यह आपके डिबग कंसोल पर प्रिंट होगा:

स्रोत: मैं [दुष्ट] हूं और चाहता हूं (तोड़ना) !!! $ -> अब -> गंतव्य: I% २m मीटर % A0% C3% A9% C3% एसी% C3% B2% C3% B9

... यह भी ध्यान दें कि मल्टीथ्रेड वातावरण में कई आरंभीकरण से बचने के लिए डिस्पैच_ऑन का उपयोग करें।


5

यहाँ स्विफ्ट 5.x में एक उत्पादन-तैयार लचीला दृष्टिकोण है :

public extension CharacterSet {

    static let urlQueryParameterAllowed = CharacterSet.urlQueryAllowed.subtracting(CharacterSet(charactersIn: "&?"))

    static let urlQueryDenied           = CharacterSet.urlQueryAllowed.inverted()
    static let urlQueryKeyValueDenied   = CharacterSet.urlQueryParameterAllowed.inverted()
    static let urlPathDenied            = CharacterSet.urlPathAllowed.inverted()
    static let urlFragmentDenied        = CharacterSet.urlFragmentAllowed.inverted()
    static let urlHostDenied            = CharacterSet.urlHostAllowed.inverted()

    static let urlDenied                = CharacterSet.urlQueryDenied
        .union(.urlQueryKeyValueDenied)
        .union(.urlPathDenied)
        .union(.urlFragmentDenied)
        .union(.urlHostDenied)


    func inverted() -> CharacterSet {
        var copy = self
        copy.invert()
        return copy
    }
}



public extension String {
    func urlEncoded(denying deniedCharacters: CharacterSet = .urlDenied) -> String? {
        return addingPercentEncoding(withAllowedCharacters: deniedCharacters.inverted())
    }
}

उदाहरण उपयोग:

print("Hello, World!".urlEncoded()!)
print("You&Me?".urlEncoded()!)
print("#Blessed 100%".urlEncoded()!)
print("Pride and Prejudice".urlEncoded(denying: .uppercaseLetters)!)

आउटपुट:

Hello,%20World!
You%26Me%3F
%23Blessed%20100%25
%50ride and %50rejudice

कृपया अपने डाउनवोट्स का कारण बताते हुए एक टिप्पणी शामिल करें ताकि मुझे पता चले कि भविष्य में एक बेहतर उत्तर कैसे लिखना है o
बेन लेग्गीरो

4

HTTP GET मापदंडों को एनकोड करने के लिए NSURLCompords का उपयोग करें:

    var urlComponents = NSURLComponents(string: "https://www.google.de/maps/")!
    urlComponents.queryItems = [
        NSURLQueryItem(name: "q", value: String(51.500833)+","+String(-0.141944)),
        NSURLQueryItem(name: "z", value: String(6))
    ]
    urlComponents.URL     // returns https://www.google.de/maps/?q=51.500833,-0.141944&z=6

http://www.ralfebert.de/snippets/ios/encoding-nsurl-get-parameters/


1
यह एम्परसेंड्स, स्लैश या अर्धविराम को एन्कोड नहीं करता है।
फाबियो ओलिवेरा

4

इस कोड ने मुझे विशेष पात्रों को एन्कोड करने में मदद की

NSString* encPassword = [password stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet alphanumericCharacterSet]];

3

इस धागे में chown के objc उत्तर पर आधारित स्विफ्ट कोड ।

extension String {
    func urlEncode() -> String {
        return CFURLCreateStringByAddingPercentEscapes(
            nil,
            self,
            nil,
            "!*'();:@&=+$,/?%#[]",
            CFStringBuiltInEncodings.UTF8.rawValue
        )
    }
}

4
यह समारोह iOS 9 :(
ओलिवर एटकिंसन

3

में स्विफ्ट 3 , नीचे बाहर का प्रयास करें:

let stringURL = "YOUR URL TO BE ENCODE";
let encodedURLString = stringURL.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)
print(encodedURLString)

चूंकि, stringByAddingPercentEscapesUsingEncodingगैर URL वर्णों को एनकोड करता है , लेकिन आरक्षित वर्णों को छोड़ देता है (जैसे !*'();:@&=+$,/?%#[]), आप निम्न कोड की तरह url को एन्कोड कर सकते हैं:

let stringURL = "YOUR URL TO BE ENCODE";
let characterSetTobeAllowed = (CharacterSet(charactersIn: "!*'();:@&=+$,/?%#[] ").inverted)
if let encodedURLString = stringURL.addingPercentEncoding(withAllowedCharacters: characterSetTobeAllowed) {
    print(encodedURLString)
}

2

स्विफ्ट 3 में:

// exclude alpha and numeric == "full" encoding
stringUrl = stringUrl.addingPercentEncoding(withAllowedCharacters: .alphanumerics)!;

// exclude hostname and symbols &,/ and etc
stringUrl = stringUrl.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)!;

2

10.11 रिलीज़ नोट में Apple की सलाह है:

यदि आपको संपूर्ण URL स्ट्रिंग को प्रतिशत-एन्कोड करने की आवश्यकता है, तो आप इस कोड का उपयोग URL (URL में urlStringToEncode) करने के लिए एनएसएसट्रिंग को एनकोड करने के लिए कर सकते हैं:

NSString *percentEncodedURLString =
  [[NSURL URLWithDataRepresentation:[urlStringToEncode dataUsingEncoding:NSUTF8StringEncoding] relativeToURL:nil] relativeString];

काम करने के लिए प्रतीत नहीं होता है, जैसे
चार्ट

1

मेरे मामले में जहां अंतिम घटक अरबी पत्र थे, मैंने निम्नलिखित कार्य किए Swift 2.2:

extension String {

 func encodeUTF8() -> String? {

    //If I can create an NSURL out of the string nothing is wrong with it
    if let _ = NSURL(string: self) {

        return self
    }

    //Get the last component from the string this will return subSequence
    let optionalLastComponent = self.characters.split { $0 == "/" }.last


    if let lastComponent = optionalLastComponent {

        //Get the string from the sub sequence by mapping the characters to [String] then reduce the array to String
        let lastComponentAsString = lastComponent.map { String($0) }.reduce("", combine: +)


        //Get the range of the last component
        if let rangeOfLastComponent = self.rangeOfString(lastComponentAsString) {
            //Get the string without its last component
            let stringWithoutLastComponent = self.substringToIndex(rangeOfLastComponent.startIndex)


            //Encode the last component
            if let lastComponentEncoded = lastComponentAsString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet()) {


            //Finally append the original string (without its last component) to the encoded part (encoded last component)
            let encodedString = stringWithoutLastComponent + lastComponentEncoded

                //Return the string (original string/encoded string)
                return encodedString
            }
        }
    }

    return nil;
}
}

उपयोग:

let stringURL = "http://xxx.dev.com/endpoint/nonLatinCharacters"

if let encodedStringURL = stringURL.encodeUTF8() {

    if let url = NSURL(string: encodedStringURL) {

      ...
    }

} 

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

निम्नलिखित ब्लॉग के अनुसार


लेकिन यह iOS 9 में अपग्रेड किया गया है। इसके लिए अपडेटेड कोड क्या है?
सुजीत नाचन

1

इतने सारे जवाब लेकिन मेरे लिए काम नहीं किया, इसलिए मैंने निम्नलिखित कोशिश की:

fun simpleServiceCall(for serviceUrl: String, appendToUrl: String) { 
    let urlString: String = serviceUrl + appendToUrl.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed)!     

    let finalUrl = URL(string: urlString)!

    //continue to execute your service call... 
}

उम्मीद है कि यह किसी की मदद करेगा। धन्यवाद


0

व्यक्तिगत www फ़ॉर्म-एन्कोडेड क्वेरी पैरामीटर के लिए, मैंने NSString पर एक श्रेणी बनाई:

- (NSString*)WWWFormEncoded{
     NSMutableCharacterSet *chars = NSCharacterSet.alphanumericCharacterSet.mutableCopy;
     [chars addCharactersInString:@" "];
     NSString* encodedString = [self stringByAddingPercentEncodingWithAllowedCharacters:chars];
     encodedString = [encodedString stringByReplacingOccurrencesOfString:@" " withString:@"+"];
     return encodedString;
}

0

// यह परीक्षण के बिना है

NSMutableCharacterSet* set = [[NSCharacterSet alphanumericCharacterSet] mutableCopy];
[set addCharactersInString:@"-_.~"];
NSString *encode = [test stringByAddingPercentEncodingWithAllowedCharacters:set];

0

मुझे POST पैरामीटर के रूप में जटिल तारों को पारित करने में एक समान समस्या का सामना करना पड़ा। मेरे तार में एशियाई वर्ण, रिक्त स्थान, उद्धरण और सभी प्रकार के विशेष वर्ण हो सकते हैं। आखिरकार मुझे जो समाधान मिला वह था यूनिकोड की मिलान श्रृंखला में अपने स्ट्रिंग को परिवर्तित करना, जैसे "Hu0040Hu0020Hu03f5 ...." [NSString stringWithFormat: @ "Hu% 04x", [string characterAtIndex: i]] का उपयोग करके प्रत्येक से यूनिकोड प्राप्त करना। मूल स्ट्रिंग में चरित्र। वही जावा में किया जा सकता है।

इस स्ट्रिंग को POST पैरामीटर के रूप में सुरक्षित रूप से पारित किया जा सकता है।

सर्वर साइड (PHP) पर, मैं सभी "H" को "\" में बदलता हूं और परिणामी स्ट्रिंग को json_decode पर पास करता हूं। अंतिम चरण MySQL में स्ट्रिंग को स्टोर करने से पहले सिंगल कोट्स से बचना है।

इस तरह मैं अपने सर्वर पर किसी भी UTF8 स्ट्रिंग को स्टोर कर सकता हूं।


0

यह एक मेरे लिए काम कर रहा है।

func stringByAddingPercentEncodingForFormData(plusForSpace: Bool=false) -> String? {
    let unreserved = "*-._"
    let allowed = NSMutableCharacterSet.alphanumericCharacterSet()
    allowed.addCharactersInString(unreserved)

    if plusForSpace {
        allowed.addCharactersInString(" ")
    }

    var encoded = stringByAddingPercentEncodingWithAllowedCharacters(allowed)
    if plusForSpace {
        encoded = encoded?.stringByReplacingOccurrencesOfString(" ",
                                                                withString: "+")
    }
    return encoded
}

मुझे इस लिंक से उपरोक्त फ़ंक्शन मिला: http://useyourloaf.com/blog/how-to-percent-encode-a-url-string/

आप इस फ़ंक्शन का उपयोग तेजी से विस्तार के साथ भी कर सकते हैं। कृपया मुझे बताएं कि क्या कोई समस्या है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.