Also hier sind erst mal 2 Funktionen um aus einem Hexstring einen "normalen" Ansistring zu machen (und umgekehrt):
Delphi-Quellcode:
// Beispiel: StrToHexString('Daten') => '446174656E'
function StrToHexString(const s : AnsiString):AnsiString;
begin
if s = '' then
Result := ''
else
begin
SetLength(Result, Length(s)*2);
BinToHex(PAnsiChar(s), PAnsiChar(Result), Length(s));
end;
end;
// Beispiel: HexStringToStr('446174656E') => 'Daten'
function HexStringToStr(s : AnsiString):AnsiString;
begin
if Odd(length(s)) then
Insert('0', s, 1);
SetLength(Result, Length(s) div 2);
HexToBin(PAnsichar(s), PAnsiChar(Result), Length(Result));
end;
Nachdem man die Funktion HexStringToStr() aufgerufen hat, muss man nur noch den in UTF8 kodierten String in einen Widestring überführen.