![]() |
ReadInt32 ???
hallo,
ich hab da mal eine kurze Verständisfrage (ist ja schon späät und bei paar bier hehe) bei .NET gibts bei den Streams eine Funktion namens ReadInt32. Es wird also ein 32bit Integer eingelesn. So bei Delphi un beim TFileStream gibts ja nur Read, bei dem man angeben kann wieviel Bytes eingelesen werden sollen. Verstehe ich das richtig wenn ich jetzt das gleiche wie ReadInt32 machen will, einfach nur bei count eine 4 eintrage, denn 4 Byte = 32 Bit ??? Oder ist da ein denkfehler ? |
Re: ReadInt32 ???
Ja. Wobei du bei Netzwerkstreams aufpassen musst, ob die Streamquelle die gleiche Byte-Kodierung verwendet wie du. (Big-/Little-Endian)
|
Re: ReadInt32 ???
hi, ok gut aber bei binärdateien ist das egal oder (exe,...) ?
|
Re: ReadInt32 ???
Nein, ist es nicht.
Beispiel: System A ist ein stinknormales Win32-x86-System. System B ist ein IBM-Mainframe. System B schickt jetzt den Integer 42 (0x0000002A) an System A. Im Speicher von System B sieht der so aus: 00 00 00 2A System A empfängt die 4 Bytes an Daten und liest sie zur weiteren Verwendung in ein Prozessor-Register. Und hoppala, plötzlich wird aus dem 00 00 00 2A im Speicher der Integer 0x2A000000, und das ist was ganz anderes als 42. |
Re: ReadInt32 ???
ah ok. Danke für den kleinen Exkurs, wusste ich noch garnicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:02 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