NSString aus rtf Datei

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

  • NSString aus rtf Datei

    Hallo Entwickler,

    ich möchte einen NSString aus einer rtf Datei auslesen
    Das sieht so aus:

    Quellcode

    1. [NSString stringWithContentsOfURL:urlTextFile encoding:NSUTF8StringEncoding error:nil]


    Das Problem ist, dass Sonderzeichen wie ä, ö und ü durch wirre Zeichenfolgen ersetzt werden.
    Welches encoding sollte ich verwenden, um das zu verhindern?
  • Vyax schrieb:

    ich möchte einen NSString aus einer rtf Datei auslesen
    Das sieht so aus:

    Quellcode

    1. [NSString stringWithContentsOfURL:urlTextFile encoding:NSUTF8StringEncoding error:nil]

    So liest Du aber das „Rohformat“ der RTF Datei, inklusive aller Control Words, etc. ein. Als Encoding reicht NSASCIIStringEncoding aus, da das RTF-Format für 7 Bit Zeichen (ANSI) definiert ist.

    Vyax schrieb:

    Das Problem ist, dass Sonderzeichen wie ä, ö und ü durch wirre Zeichenfolgen ersetzt werden.
    Welches encoding sollte ich verwenden, um das zu verhindern?

    Am Anfang einer RTF Datei steht drin, welcher Character Set und welche Codepage der Datei zu Grunde liegt. Basierend darauf musst Du den Text da drin interpretieren. Wenn die RTF Datei am Anfang zum Beispiel mit {\rtf1\ansi\ansicpg1252 beginnt, dann steht \'e4 für den Buchstaben ä. \'f6 steht für ö, etc. Je nachdem, wer die RTF-Datei erzeugt hat, können die Zeichen aber auch anders „codiert“ sein. So steht \u228 ebenfalls für ein ä.

    Unter OS X wäre das alles viel einfacher, da dort RTF-Unterstützung eingebaut ist. Unter iOS fehlt die leider.

    Michael