Я отправляю запрос из моего iphone-приложения, где некоторые аргументы представляют собой текст, который пользователь может ввести в текстовые поля. Поэтому мне нужно их HTML-кодировать.
Вот проблема, с которой я сталкиваюсь:
NSLog(@"%@", testText); // Test & ?
testText = [testText stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@", testText); // Test%20&%20?
Как видите, кодируются только пробелы, поэтому сервер игнорирует все, что находится за амперсандом, для аргумента.
Является ли это объявленным поведением stringByAddingPercentEscapes? Нужно ли вручную заменять каждый специальный символ соответствующим шестнадцатеричным кодом?
Благодарен за любой вклад.