Solange du nicht weißt, "was" es für Daten sind, vermeide in Delphi alles was mit Char oder String zu tun hat!
-> TBytes, TByteAarray oder ein TMemoryStream sind hier z.B. die passenden Speichertypen.
Dann kannst du es mit
Delphi-Quellcode:
try
Memo1.Text := DecodeUTF8toString(MemoryStream);
except
Memo1.Text := DecodeANSItoString(MemoryStream);
end;
oder
Delphi-Quellcode:
if IsUTF8(MemoryStream) then
Memo1.Text := DecodeUTF8toString(MemoryStream)
else
Memo1.Text := DecodeANSItoString(MemoryStream);
praktisch recht einfach realisieren.