Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi 4 Bytes zu DWORD konvertieren - und umgekehrt (https://www.delphipraxis.net/89268-4-bytes-zu-dword-konvertieren-und-umgekehrt.html)

Zacherl 28. Mär 2007 19:12


4 Bytes zu DWORD konvertieren - und umgekehrt
 
Hey,

ich habe eben mal den Datenverkehr des ICQ Protokolles gesnifft und habe folgende Abfolge von Bytes gefunden: 79 15 4B 1B Wireshark gibt an, dass es sich um den Integer Wert 457905529 handelt.

Meine Frage: Wie kann ich einen Integer aus diesen 4 Bytes zusammensetzen? Und wie kann ich das ganze Umkehren, also aus einem Integer diese 4 Bytes bekommen?

SirThornberry 28. Mär 2007 19:16

Re: 4 Bytes zu DWORD konvertieren - und umgekehrt
 
Das ganze ist doch bereits ein Integer
Delphi-Quellcode:
Deine4ByteOrdVariable := $79154B1B;

Jens Schumann 28. Mär 2007 19:20

Re: 4 Bytes zu DWORD konvertieren - und umgekehrt
 
Hallo SirThornberry,
es könnte aber auch
Code:
$1B4B1579
sein

SirThornberry 28. Mär 2007 19:23

Re: 4 Bytes zu DWORD konvertieren - und umgekehrt
 
du hast recht :-) Hab die Bytes vertauscht gehabt :oops:

Zacherl 28. Mär 2007 19:23

Re: 4 Bytes zu DWORD konvertieren - und umgekehrt
 
Zitat:

Zitat von Jens Schumann
Hallo SirThornberry,
es könnte aber auch
Code:
$1B4B1579
sein

Ja, das ist es .. vielen Dank :thumb: Hatte es vorher wie du probiert SirThornberry, aber da kam Quatsch raus :D

Olli 30. Mär 2007 00:44

Re: 4 Bytes zu DWORD konvertieren - und umgekehrt
 
http://de.wikipedia.org/wiki/Byte-Reihenfolge

Delphi-Quellcode:
type
  T4ByteArray:array[1..4] of Byte;
  P4ByteArray:^T4ByteArray;
var
  dwBla: DWORD;
  pBA: P4ByteArray;
  i: Integer;
// ...
begin
  dwBla := 457905529;
  pBA := P4ByteArray(@dwBla);
// ...
  for i := 1 to sizeof(DWORD) do
    Writeln(pBA[i]);
end;
... geht auch umgekehrt (obiges Beispiel arbeitet natürlich mit der Byte-Reihenfolge des aktuellen Prozessors).


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 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