Во-первых, я не совсем уверен, что происходит, или если я полностью понимаю это достаточно, чтобы описать проблему, поэтому я постараюсь изо всех сил.
Я кодирую объект NSData, который содержит jsonи один из объектов содержит символ степени.Мы считаем, что это является причиной проблемы, и хотели бы удалить ее перед кодированием, поскольку проблема возникает во время кодирования.
У меня есть множество вариантов удаления определенных символов из строк, но ни один из них не выполняется из NSData.сам объект.Интересно, если это вообще возможно, или если проблема в том, как я его уже кодирую.
Вот как объект NSData кодируется и превращается обратно в объект NSData для сериализации его в json.Сейчас я не пытаюсь удалить символ степени, используя латиницу 1, потому что другой символ, который я хочу использовать, но не нужен, вероятно, это не лучший способ, но он работает для большинства других объектов данных, которые передаютчерез него только не этот, так что это должно измениться.
NSString* stringISOLatin1 = [NSString stringWithCString:data.bytes encoding:NSISOLatin1StringEncoding];
NSData* dataUTF8 = [stringISOLatin1 dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO];
Результаты немного странные, в большинстве случаев это работает нормально, даже с учетом символа градуса в тексте при отображении на экране.В других случаях после кодирования строка возвращается в конце в беспорядке, что делает невозможным ее сериализацию.
Любая помощь будет признательна, даже если она просто поможет лучше объяснить, что происходит.Спасибо