Ich suche nach einer Möglichkeit, zitierte Ausdrucke zu dekodieren.
Die quoted-printables sind für arabische Zeichen und sehen so aus:
= D8 = B3 = D8 = B9 = D8 = A7 = D8 = AF
Ich muss es in eine Zeichenfolge konvertieren und speichern oder anzeigen ..
Ich habe Post auf Stackoverflow für den umgekehrten Weg gesehen (Kodierung), konnte aber keine Entschlüsselung finden.
Uhm, es ist ein bisschen hacky, aber Sie könnten die =
-Zeichen durch ein %
-Zeichen ersetzen und die stringByReplacingPercentEscapesUsingEncoding:
-Methode von NSString verwenden. Andernfalls könnten Sie die Zeichenfolge im Wesentlichen auf die Zeichen = aufteilen, jedes Element in einen Bytewert konvertieren (einfach mit NSScanner), die Bytewerte in ein C-Array einfügen und die initWithBytes:length:encoding:
-Methode von NSString verwenden.
Beachten Sie, dass Ihr Beispiel technisch nicht im quoted-printable-Format vorliegt, das angibt, dass ein quoted-printable eine dreistellige Zeichenfolge bestehend aus einem =
-Zeichen gefolgt von zwei Hex-Ziffern ist.
In meinem Fall kam ich von EML ... bensniders Antwort funktionierte großartig ... quoted-printable (zumindest in EML) verwendet ein = Zeichen, gefolgt von \ r \ n, um einen Zeilenumbruch zu bezeichnen, also war dies der Code benötigt, um sauber zu übersetzen:
(Hergestellt als eine Kategorie, weil ich das liebe)
%Vor%Was beim Dekodieren meiner EML / UTF-8-Objekte gut funktioniert hat!
In einigen Fällen sind die Zeilenenden nicht "= \ r \ n", sondern nur "= \ n". In diesem Fall benötigen Sie einen weiteren Schritt: decadedString = [self ZeichenfolgenversetzenOccurrencesOfString: @ "= \ n" withString: @ ""];
Andernfalls schlägt der letzte Schritt aufgrund des nicht ausgeglichenen "%" am Ende einer Zeile fehl.
Ich weiß nichts über das iPhone, aber die meisten E-Mail-Verarbeitungsbibliotheken enthalten Funktionen, um dies zu tun, da E-Mail ist, wo dieses Format verwendet wird. Ich schlage vor, nach Funktionen für die MIME-Decodierung zu suchen, ähnlich wie bei geben Sie hier die Beschreibung des Links ein .
Der Ansatz der früheren Plakate erscheint mir auch gut - ich fühle, dass er ein bisschen zu selbstironisch ist, wenn er es als hacky beschreibt:)
Sehen Sie sich eine funktionierende Lösung an, die in Anführungszeichen geschriebene Strings entnimmt und diese Grapheme auflöst. Die einzige Sache, auf die Sie achten sollten, ist die Kodierung (diese Antwort basiert auf UTF8, indem sie leicht auf jede andere umgestellt werden kann): Ссылка
Tags und Links objective-c iphone decode quoted-printable