StringToHex (nonVCL)
Mit der Funktion StringToHex() kann man einen String in die Hexschreibe umwandeln, wie es auch ein Hex-Editor normalerweise macht.
Delphi-Quellcode:
Sprint hat diesen Code noch ein wenig verpackt und beschleunigt:
function StringToHex(Text: String): String;
var i, Number: Integer; begin Result := ''; for i := 1 to Length(Text) do begin Number := Ord(Text[i]); case Number div 16 of 0: Result := Result + '0'; 1: Result := Result + '1'; 2: Result := Result + '2'; 3: Result := Result + '3'; 4: Result := Result + '4'; 5: Result := Result + '5'; 6: Result := Result + '6'; 7: Result := Result + '7'; 8: Result := Result + '8'; 9: Result := Result + '9'; 10: Result := Result + 'A'; 11: Result := Result + 'B'; 12: Result := Result + 'C'; 13: Result := Result + 'D'; 14: Result := Result + 'E'; 15: Result := Result + 'F'; end; case Number mod 16 of 0: Result := Result + '0'; 1: Result := Result + '1'; 2: Result := Result + '2'; 3: Result := Result + '3'; 4: Result := Result + '4'; 5: Result := Result + '5'; 6: Result := Result + '6'; 7: Result := Result + '7'; 8: Result := Result + '8'; 9: Result := Result + '9'; 10: Result := Result + 'A'; 11: Result := Result + 'B'; 12: Result := Result + 'C'; 13: Result := Result + 'D'; 14: Result := Result + 'E'; 15: Result := Result + 'F'; end; end; end;
Delphi-Quellcode:
[edit=Chakotay1308]Beitrag vervollständigt. Mfg, Chakotay1308[/edit]
function StrToHex(const S: String): String;
const HexDigits: array[0..15] of Char = '0123456789ABCDEF'; var I: Integer; P1: PChar; P2: PChar; B: Byte; begin SetLength(Result, Length(S) * 2); P1 := @S[1]; P2 := @Result[1]; for I := 1 to Length(S) do begin B := Byte(P1^); P2^ := HexDigits[B shr 4]; Inc(P2); P2^ := HexDigits[B and $F]; Inc(P1); Inc(P2); end; {end for} end; {end function} |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz