Я не видел очень четкого ответа на этот вопрос. По какой-то причине я не понимаю, сервер, с которого я получаю данные, возвращает ответ JSON с большим количеством (возможно, сотнями) нулевых байтов в начале.
Когда я использую следующий код, строка выглядит нулевой:
NSString* newStr = [[[NSString alloc] initWithData:dataToBeLoaded encoding:NSUTF8StringEncoding] autorelease];
Это, по-видимому, распространенная проблема, но я не видел четкого ответа о том, как преобразовать NSData в NSString.
До недавнего времени я видел эту проблему с промежуточным значением NSString, но она исчезла после того, как я удалил несколько (но не сотни) символов из начала и конца. NSString после удаления был в полном порядке, поэтому я полагаю, что проблема не в методе кодирования.
Есть ли встроенный метод, который сделает это правильно? Я должен представить, что было бы более эффективно, если бы код, который я написал, проходил бы байт за байтом.
Кстати, когда я вручную отправляю запрос JSON на сервер в своем браузере, ответ возвращается как совершенно правильный JSON, без каких-либо явных проблем, отображаемых на экране браузера.
Есть идеи, что мне делать? Спасибо.