У меня есть следующая строка NSString:
NSString* searchURL = [NSString stringWithFormat:@"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22%@%22)%0A%09%09&format=json&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=",symbol]; NSLog(@"URL IS: %@", searchURL);
Похоже,% 22 не включается при печати:
URL IS: http://query.yahooapis.com/v1/public/yql?q=select220from2ahoo.finance.quotes2here `º≠ymbol 813020n22@20X1.000982B6P-1042009&format=json&env=http0X1.8CFB8P-1023-1.9907460.000000datatables.org-1.990746alltables.env&callback=
Как убедиться, что% 22входит в мою строку?
Если вы хотите включить знак «%» в строку формата, используйте «%%»
Так же, как в printf и др.
Прочитайте полную документацию по stringWithFormat, чтобы избежать других неприятных сюрпризов ...
% - это специальный символ в строках формата.Используйте %% для экранирования буквальных знаков процента.
%
%%
% символов используются в пространстве кодирования в формировании URL-адреса. Если вы хотите запросить любой URL-адрес, вам необходимо его кодировать с помощью stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding.Таким образом, знак%, который появляется, является закодированной формой пространства. Реализуйте соответственно, очистив этот фундаментальный