![]() |
HexString <-> Binärstring
Die beiden folgenden Funktion wandeln einen String in Hexadezimaler Darstellung
in einen String in binärer Darstellung (und umgekehrt). Die Funktionen sind sehr schnell, da sie sich auf Assemblercode in der Unit Classes stützen.
Delphi-Quellcode:
Natürlich sollte man solche Funktionen auch immer auf ihre Korrektheit testen.
// Beispiel: StrToHexString('Daten') => '446174656E'
function StrToHexString(const s : string):string; begin if s = '' then Result := '' else begin SetLength(Result, Length(s)*2); BinToHex(PChar(s), PChar(Result), Length(s)); end; end; // Beispiel: HexStringToStr('446174656E') => 'Daten' function HexStringToStr(s : string):string; begin if s = '' then Result := '' else begin if Odd(length(s)) then s := '0'+s; SetLength(Result, Length(s) div 2); HexToBin(Pchar(s), PChar(Result), Length(Result)); end; end; Deshalb kommt hier noch eine Test-Prozedur:
Delphi-Quellcode:
[edit=Matze]Code formatiert. Mfg, Matze[/edit]
procedure TestHexConversions;
var s : string; begin s := #0#255'Hello Testmän'; // umwandeln nach Hexstring und zurück Assert(s=HexStringToStr(StrToHexString(s))); s := '0011223344AFFE'; // umwandeln Hex nach binaer und zurück Assert(s=StrToHexString(HexStringToStr(s))); // Testen von leeren strings Assert(HexStringToStr('')=''); Assert(StrToHexString('')=''); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz