Integer-typ mit invertierter byte-reihnfolge
Gibt's eigentlich einen Integer-Datentypen der eine umgekehrte byte-order hat?
Ich krieg hier via TCP ein paar records rein, wo bei den enthaltenen integers die byte-Reihnfolge umgedrehen werden muss - was ja keine Hexerei ist, aber die Gefahr einen zu vergessen ist halt da. Praktisch wär in diesem Fall ein Datentyp, der - wenn ich
Delphi-Quellcode:
mache, bei gleich automatisch auch die Byte-order wieder umdreht.
var i:integer;
x:invertedinteger; begin ... i:=x; (und vice-versa) |
Re: Integer-typ mit invertierter byte-reihnfolge
Ein x86 unterstützt leider keine Big Endian
|
Re: Integer-typ mit invertierter byte-reihnfolge
Geht es hier um Delphi 2006? Dann kannst du dir doch einfach einen entsprechenden Record bauen und die Typunmwandlungen dann entsprechend mit bswap durchführen. Okay, du musst halt auch die ganzen anderen Operatoren überladen, aber grundsätzlich halte ich die Idee nicht für allzu falsch.
|
Re: Integer-typ mit invertierter byte-reihnfolge
Die Byte-Order musst du doch normalerweise nur beachten, wenn du direkt mit den Sockets arbeitest. In diesem Fall hast du bei den Socket-Funktionen der WinAPI doch Konvertierfunktionen wie z.B. ntohs (Network to Host short) drin und kannst die verwenden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 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