Die Dokumentation für NSString
sagt
https://developer.apple.com/documentation/foundation/nsstring/1416374-initwithdata
Rückgabewert Ein NSString-Objekt, das durch Konvertieren der Bytes in Daten in Unicode-Zeichen mithilfe der Codierung initialisiert wurde. Das zurückgegebene Objekt kann sich vom ursprünglichen Empfänger unterscheiden. Gibt null zurück, wenn die Initialisierung aus irgendeinem Grund fehlschlägt (z. B. wenn Daten keine gültigen Daten für die Codierung darstellen).
Sie sollten eine andere Codierung ausprobieren, um zu überprüfen, ob Ihr Problem dadurch behoben wird
// The following constants are provided by NSString as possible string encodings.
enum {
NSASCIIStringEncoding = 1,
NSNEXTSTEPStringEncoding = 2,
NSJapaneseEUCStringEncoding = 3,
NSUTF8StringEncoding = 4,
NSISOLatin1StringEncoding = 5,
NSSymbolStringEncoding = 6,
NSNonLossyASCIIStringEncoding = 7,
NSShiftJISStringEncoding = 8,
NSISOLatin2StringEncoding = 9,
NSUnicodeStringEncoding = 10,
NSWindowsCP1251StringEncoding = 11,
NSWindowsCP1252StringEncoding = 12,
NSWindowsCP1253StringEncoding = 13,
NSWindowsCP1254StringEncoding = 14,
NSWindowsCP1250StringEncoding = 15,
NSISO2022JPStringEncoding = 21,
NSMacOSRomanStringEncoding = 30,
NSUTF16StringEncoding = NSUnicodeStringEncoding,
NSUTF16BigEndianStringEncoding = 0x90000100,
NSUTF16LittleEndianStringEncoding = 0x94000100,
NSUTF32StringEncoding = 0x8c000100,
NSUTF32BigEndianStringEncoding = 0x98000100,
NSUTF32LittleEndianStringEncoding = 0x9c000100,
NSProprietaryStringEncoding = 65536
};