UTF8-Dekodierung mit NSString

Ich bin neu in Objective-C und versuchen, zu konvertieren, eine fehlerhafte UTF8-codiert NSString auf eine wellformed mit dem ein Beispiel auf äpfel docs.

NSString *theString = @"Lügen"; //should be "ü"
NSString *asciiString = [[NSString alloc] initWithData:asciiData encoding:NSASCIIStringEncoding];

NSLog(@"Original: %@ (length %d)", theString, [theString length]);  
NSLog(@"Converted: %@ (length %d)", asciiString, [asciiString length]);

Ergebnis:

Original: Lügen (length 6)
Converted: LA1/4gen (length 8)

Dieser hier ist nichts zu tun:

NSString* str = [NSString stringWithUTF8String:
                 [theString cStringUsingEncoding:NSASCIIStringEncoding]];

Dieser hier stürzt mein app

NSString* str = [NSString stringWithUTF8String:
                 [theString cStringUsingEncoding:NSUTF8StringEncoding]];

Jemand eine Idee, was ich falsch mache?

  • Könntest du einen dump der strings als hex? Ich lese keine fehlerhafte UTF8 fließend 🙂
  • dies ist ein "ü" nicht wissen, wie man den hex Wert 😉
  • Posten Sie bitte details des Absturzes in jeder Frage mit einem Absturz.
  • Sie sollte hinzufügen, dass als Antwort.
Schreibe einen Kommentar