gaaaanz einfach, nix mit Ableitungen... nur einfach selbst VORHER "erkennen" ob UTF8 oder
Ansi
Delphi-Quellcode:
ms:TMemoryStream
s:string;
ms:=TMemoryStream.Create;
ms.LoadFromFile('filename');
if IsUTF8(ms) then
s := DecodeUTF8toString(ms)
else
s := DecodeANSItoString(ms);
ms.free;
Memo1.Text:=s;
MemIniFile.Text:=s;
Du musst dir nur fix selbst(wie empfohlen) oder per "Try" mit TEncoding folgende 3 Funktionen basteln
Delphi-Quellcode:
function IsUTF8(const stream:TStream):Boolean;
function DecodeUTF8toString(const stream:TStream):string;
function DecodeANSItoString(const stream:TStream):string;