So, des Problems Lösung:
Überladene Funktion für EncdDecd schreiben, die bei EncodeString mit UTF8String als Input arbeitet und dem TStringStream das Encoding manuell zuweisen:
Delphi-Quellcode:
function EncodeString(const Input: UTF8String): String; overload;
var
InStr, OutStr: TStringStream;
begin
InStr := TStringStream.Create(Input, TEncoding.UTF8);
try
OutStr := TStringStream.Create('');
try
EncodeStream(InStr, OutStr);
Result := OutStr.DataString;
finally
OutStr.Free;
end;
finally
InStr.Free;
end;
end;
Die Ursache ist wirklich die automatische Rückwandlung von UTF8 zu
Unicode. Danke Julius für die Idee!
Gruß Assertor