![]() |
Re: Umwandlung Big Endian nach Little Endian
Oder benutz die WinSock-Funktionen
ntohs bzw. htons und ntohl bzw. htonl. |
Re: Umwandlung Big Endian nach Little Endian
@all:
Danke für die Auskünfte! @choose: Das mit dem Decorator werde ich mir mal anschauen. Ich muss ehrlich sagen, das ich den Begriff 'Decorator' eigentlich noch nie gehört habe, aber nach dem ersten überfliegen deines Post in einem anderen ![]() @sakura: Leider habe ich bisher keine Delphi3000-Account! Nach dem ersten (schnellen) Ansicht der Website stellt sich natürlich für mich die Frage, ist der Account bei denen kostenlos? @Rainer_Unger: Für Word-Zahlen hast du natürlich recht. Allerdings habe ich das ganze in eine Zeile unterbekommen :wink: :
Delphi-Quellcode:
Für Longword-Zahlen ist das ganze aus meiner Sicht nicht ganz so simple, Mein Lösungsansatz, den ich gestern gefunden habe ist folgender:
function Big2LittleEndian(Wert: Word):Word;
begin Result := Lo(Wert) * 256 + Hi(Wert); end;
Delphi-Quellcode:
@Chewie:
function Big2LittleEndian(Wert: LongWord):LongWord;
var i : Integer; begin Result := 0; for i:= 0 to 3 do Result := (Result SHL 8) + Byte(Wert SHR (8*i)); end; :wiejetzt: Da ich eigentlich nicht mit dem Netzwerk arbeiten wollte (und muss, eigentlich soll das Programm auch auf einen Standalone-rechner ohne Netzwerk[auch ohne Modem, ja sowas gibst auch noch] laufen) weis ich auf den ersten Blick nicht, was mir diese Funktionen bringen. Vielleicht könntest du mir das noch mal ganz kurz erklären. |
Re: Umwandlung Big Endian nach Little Endian
Wie wäre es mit:
Zitat:
Zitat:
So würde ich es zu mindest machen. :wink: |
Re: Umwandlung Big Endian nach Little Endian
Die Funktionen htons etc. greifen nicht auf Netzwerkresourcen zu, sondern stellen nur eine Byte-Reihenfolge-Umkehr da.
htons steht für Host to [/b]N[/b]etwork Short, ntohs macht es umgekehrt. Diese Funktionen arbeiten aber natürlich gleich, sie werden nur wegen der besseren Lesbarkeit unterschieden. Der tiefere Sinn ist der, dass zur Netzübertragung Byte-Reohenfolgen festgelegt sind, nämlich die Host Order und die Network Order. Diese Funktionen sollte es auf jedem Betriebssystem mit Socket-Schnittstelle geben. htonl und ntohl unterscheiden sich übrigens dadurch, dass sie für 4 Byte-Integer ausgelegt sind und nicht für 2 Byte wie Short. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 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