NSLog mit Umlauten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • NSLog mit Umlauten

    Heute hat es mich gerissen, alles Mögliche wird diskutiert mit 'encodings', aber wie man ein "Windmühle" loggt, habe ich nicht gefunden.
    Gehen muss es, denn ein 'NSString' macht es von selbst, in einem 'NSArray' geht es dann wieder nicht.

    Es geht, und der Trick heisst "NSNonLossyASCIIStringEncoding via cString".

    Quellcode

    1. @implementation NSObject (GerManUmLaut)
    2. - (NSString *)nonEscapedDescription
    3. {
    4. NSStringEncoding enc = NSNonLossyASCIIStringEncoding;
    5. NSString *desc = [self description];
    6. const char *cStr = [desc cStringUsingEncoding: [NSString defaultCStringEncoding]];
    7. // as encoding, MacRoman, NextStep, IsoLatin and utf work as well
    8. return [NSString stringWithCString: cStr encoding: enc];
    9. // in one line:
    10. // return [NSString stringWithCString:[[self description] UTF8String] encoding: NSNonLossyASCIIStringEncoding];
    11. }
    12. @end
    Alles anzeigen
    I would be embarrassed if they did not spy on me.