Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#7

Re: IdPOP3, UTF-8 Charset, Umlaute äöü

  Alt 29. Apr 2009, 19:49
war am Ende also einfacher, als es aussah


Ich würde den Funktionsparametern noch ein CONST verpassen,
denn vorallem WideString hat keine Referenzzählung und ohne würde für den Parameter eine eigene Kopie angelegt.
Delphi-Quellcode:
function ConvertQuotedPrintable ( const AText: String ) : String;

function ConvertUTF8( const AText : WideString ) : WideString;



oder alles in Kurz
Delphi-Quellcode:
uses ..., IdCoderQuotedPrintable, JclUnicode;

var sBody : WideString;

sBody := IdMessage.Body.Text;
if Pos( 'quoted-printable', IdMessage.ContentTransferEncoding ) > 0 then
  with TIdDecoderQuotedPrintable.Create(nil) do
    try
      sBody := DecodeToString(sBody);
    finally
      Free;
    end;
if Pos( 'utf-8', IdMessage.ContentType ) > 0 then
 sBody := UTF8ToWideString(sBody);
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat