C# Imap search command with special characters like á,éIMAP Suchbefehl mit UTF-8-Zeichensatz in C#
Ich versuche, die Logik in dem obigen Beitrag in C# erwähnt zu implementieren Nicht-Ascii-basierter Suche in gmail zu erreichen. erfolgreich zu imap.gmail.com ich mit dem Server die folgenden Transaktion habe Nach der Anmeldung:
(C -> S) Encoding.Default.GetBytes("A4 UID SEARCH CHARSET UTF-8 TEXT {4}\r\n");
(C <- S) "+ go ahead\r\n"
(C -> S) Encoding.Default.GetBytes("αβγδ\r\n");
(C <- S) "* SEARCH 72\r\nA2 OK SEARCH completed (Success)"
jedoch die E-Mail durch die Antwort des Servers bezeichnet ist völlig irrelevant für den Suchbegriff I zur Verfügung gestellt. Dies passiert nur, wenn Sie nicht-ASCII-Zeichen in den Schlüsselwörtern verwenden und ich glaube, dass etwas mit der Codierung nicht stimmt.
Ich habe auch versucht mit Encoding.Ascii
aber dann bekomme ich Suchergebnisse, die noch mehr vom Ziel abweichen.
Was ist der richtige Weg ist, um die Zeichenfolge zu senden wörtliche: "αβγδ\r\n"
ich korrigiert stehen. Ich werde das testen, sobald ich etwas Zeit habe. Wenn ich richtig verstehe, sind die zwei Dinge, die ich falsch gemacht habe, dass # 1 Ich habe nicht die Umwandlung des Suchbegriffs in Bytes in UTF8 durchgeführt (anstelle von Encoding.Default) und # 2 sollte ich die Anzahl der decodierten Bytes wo {4} gerade jetzt ist Nochmals vielen Dank im Voraus und fühlen sich frei, mich zu korrigieren, wenn ich Ihre Antwort bin falsch interpretiert. – xDisruptor
SEARCH_TERM = 'Grüße' encoded_search_term = search_term.encode ('UTF-8') length = Str (len (encoded_search_term)). Kodieren ('ASCII') Dieser Teil trully leuchtet. Ich hätte es nie alleine herausfinden können. Danke eine Milliarde m8. Ich wünschte, ich hätte genug Punkte, um dich zu überreden. Wie ich schon sagte, werde ich das testen, sobald ich etwas Zeit habe. Prost. – xDisruptor