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);