Строка URL-адреса цели-C содержит один знак процента

У меня есть строка, которая заканчивается знаком процента (%),

эта строка подготовлена ​​для запроса URL в качестве параметра:

NSString *parameter = @"/param=%";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL urlWithString:[NSString stringWithFormat:@"http://www.whatev%@",parameter]]];

Запрос возвращает nil.

Я пробовал:

NSString *parameter = @"/param=\uFF05";
//request returns nil

а также

NSString *parameter =  @"/param=%";
NSString *newParameter = [parameter stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//request returns /param=%25 ...where does 25 come from?!

Как я мог преобразовать только один% в URL-адрес запроса?

Любой совет будет принят во внимание.


person bluenowhere    schedule 20.04.2015    source источник
comment
использовал этот stackoverflow.com/questions /739682/   -  person chirag shah    schedule 20.04.2015
comment
stackoverflow.com/questions/21403323/url-encoding- a-строка/   -  person Sport    schedule 20.04.2015
comment
%25 для %... Это из-за кодировки... Подобное пространство преобразуется в %20   -  person Fahim Parkar    schedule 20.04.2015


Ответы (2)


Знак процента имеет особое назначение в URL-адресах и используется для кодирования специальных символов всех видов. Например, пробел ( ) равен %20, а сам знак процента равен %25.

http://en.wikipedia.org/wiki/Percent-encoding

Последнее должно быть правильным, я полагаю, у вас есть проблемы с его использованием в качестве запроса?

person Covalence    schedule 20.04.2015
comment
ты прав, последний отлично работает! Я просто запутался насчет 25 и забыл попробовать, лол... - person bluenowhere; 20.04.2015

escape-последовательность для % равна %%, поэтому @"/param=%%" должно решить проблему

person thorb65    schedule 20.04.2015