Я загружаю HTML с сервера (тот, который я не могу контролировать), и иногда ответ будет включать в себя символ NULL
в середине. Из-за этого ответ усекается в этот момент. Как удалить этот символ NULL
и предотвратить его усечение? Вот код, который я использую:
ASIHTTPRequest *_request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@", [DEFAULTS objectForKey:@"gradespeed_url"], @"ParentStudentGrades.aspx"]]];
__weak ASIHTTPRequest *request = _request;
[request setAllowCompressedResponse:NO];
[request setValidatesSecureCertificate:NO];
[request setCompletionBlock:^{
NSData *response_data = [request responseData];
NSString *response_string = [request responseString];
}];
NSString
усекается, но возможно ли манипулировать NSData
?
Пожалуйста, порекомендуйте.
Решение, которое я обнаружил, на самом деле было довольно простым. Мне просто нужно было добавить следующий код для удаления случайных символов NULL:
response_string = [response_string stringByReplacingOccurrencesOfString:@"\0" withString:@""];
Не полагайтесь на [request responseString]
чтобы ваше собственное преобразование из [request responseData]
обрабатывало нуль, если это необходимо.
Или просмотрите код ASIHTTP, чтобы узнать, что именно происходит.