Выходная строка в URL-адресе в target-c?(«процентное кодирование») - PullRequest
0 голосов
/ 14 января 2012

Я хочу сделать очень простую задачу в target-c в IOS5 : преобразовать строку URL в ее экранированное представление.

Я пробовал много способов сделать это, но ни один из них не показалсядля работы.

Я не могу заставить stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding работать.Он преобразует буквы, подобные обычным, но не преобразует другие, такие как =.

Я хотел бы иметь функцию, подобную Uri.EscapeDataString (http://msdn.microsoft.com/en-us/library/system.uri.escapedatastring.aspx), в .net.

Спасибо!

1 Ответ

1 голос
/ 14 января 2012

Вы можете добавить категорию к NSString, которая делает что-то вроде

- (NSString *)ps_stringByAddingPercentEscapes;
{
    return [(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, 
                                                               (CFStringRef)self, 
                                                               NULL, 
                                                               (CFStringRef)@":/?#[]@!$&’()*+,;=", 
                                                               kCFStringEncodingUTF8) autorelease];
}

Замените @":/?#[]@!$&’()*+,;=" на те символы, которые вам нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...