![]() |
Umwandeln von Hexadezimal-String zu normal-string?
Hi all,
Ich versuche gerade aus einem Hexadezimal-String wieder normalen String zu bekommen. Jeder Zeichen ist 16 bits, so sieht die Hexadezimale Darstellung so aus: 0034 2020 .. Versucht habe ich mit HexToBin, die leider pwidechar nicht unterstützt und damit keine richtig Ergebnis auslieft. Danke für alle Tipps. |
Re: Umwandeln von Hexadezimal-String zu normal-string?
Tut mit leid, aber ich weiss nicht was du meinst.
Gruß DelphiFreund |
Re: Umwandeln von Hexadezimal-String zu normal-string?
sorry für mein schlechtes Deutasch.
Das ist mein Problem: ich habe wine Hexadezimale Darstellung, z.B 2020, wie wie bekomme ich das entsprechende Charakter zurück? Danke |
Re: Umwandeln von Hexadezimal-String zu normal-string?
Hallo
Delphi-Quellcode:
Hex sind zwei Zeichen von '00' bis 'FF'
function HexToChar(const Hex: string): Char;
begin Result:= Char(StrToInt('$' + Hex)); end; Gruss Shaman |
Re: Umwandeln von Hexadezimal-String zu normal-string?
In dem Fall wäre es nicht Char sondern WideChar. Für einen String mit mehreren Werten hintereinander sähe das dann z.B. so aus:
Delphi-Quellcode:
function HexToBinStrW(const HexStr : string) : WideString;
const ValidHexChars : set Of Char = ['0'..'9', 'A'..'F', 'a'..'f']; Convert: array['0'..'f'] of SmallInt = ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1, -1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,10,11,12,13,14,15); var HexSize : Integer; HexPos : Integer; begin result := ''; HexSize := length(HexStr); HexPos := 0; while ((HexSize - HexPos) > 1) do begin while not (HexStr[HexPos+1] in ValidHexChars) do begin Inc(HexPos); If ((HexSize - HexPos) < 1) then Break; end; If ((HexSize - HexPos) < 4) then Break; result := result + WideChar( (Convert[HexStr[HexPos+1]] shl 12) + (Convert[HexStr[HexPos+2]] shl 8) + (Convert[HexStr[HexPos+3]] shl 4) + (Convert[HexStr[HexPos+4]] ) ); Inc(HexPos, 4); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 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 by Thomas Breitkreuz