Кодировка URL Objective-C и Swift - PullRequest
       38

Кодировка URL Objective-C и Swift

134 голосов
/ 11 ноября 2011

У меня есть NSString, как это:

http://www.

но я хочу преобразовать его в:

http%3A%2F%2Fwww.

Как я могу это сделать?

Ответы [ 12 ]

0 голосов
/ 09 декабря 2012

// использовать метод экземпляра NSString следующим образом:

+ (NSString *)encodeURIComponent:(NSString *)string
{
NSString *s = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
return s;
}

+ (NSString *)decodeURIComponent:(NSString *)string
{
NSString *s = [string stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
return s;
}

Помните, вы должны кодировать или декодировать только значение вашего параметра, а не все URL, которые вы запрашиваете.

0 голосов
/ 11 ноября 2011
int strLength = 0;
NSString *urlStr = @"http://www";
NSLog(@" urlStr : %@", urlStr );
NSMutableString *mutableUrlStr = [urlStr mutableCopy];
NSLog(@" mutableUrlStr : %@", mutableUrlStr );
strLength = [mutableUrlStr length];
[mutableUrlStr replaceOccurrencesOfString:@":" withString:@"%3A" options:NSCaseInsensitiveSearch range:NSMakeRange(0, strLength)];
NSLog(@" mutableUrlStr : %@", mutableUrlStr );
strLength = [mutableUrlStr length];
[mutableUrlStr replaceOccurrencesOfString:@"/" withString:@"%2F" options:NSCaseInsensitiveSearch range:NSMakeRange(0, strLength)];
NSLog(@" mutableUrlStr : %@", mutableUrlStr );
...