Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

AW: UTF8 Widestring aus 2Byte Hexcode D2007

  Alt 12. Jan 2012, 14:42
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.
Andreas
  Mit Zitat antworten Zitat