byteorder
-
Hallo zusammen,
ich möchte Daten aus einem RTP stream speichern (den Payload) kann ich diesen einfach in ein file schreiben oder muß ich hier die byteorder beachten?
Hab gehört die ist im netzwerk verschieden zum rechner!
Ist es abhängig von welchem OS die Daten ins Netzeigespielt werden? (Linux Win)
Gibt es eine Funktion wie ntohs() die man auf eine größere Menge an Daten anwenden kann als 32 bit ???
Danke
-
Das OS ist egal, die CPU archiktetur ist wichtig.
x86er arbeiten LittleEndian mode, das beteutetdie bytes liegen verkehr rum im speicher.
bsp:
die zahl 0x11223344 liegt so un deinem register: 0x44332211Die netzwerk standards setzten soweit ich weis alle auf BigEndian auf, also genau anders rum.
Gibt es eine Funktion wie ntohs() die man auf eine größere Menge an Daten anwenden kann als 32 bit
Achtung: dieses endien zeug bezieht sich nur auf integrale datentypen. Ein string sieht auf nem Mac und nem x86 gleich aus.
So ne funktion seleber zu schreiben ist kein großer akt, einfach das höchste bytes ins niederste schreiben, das 2. höchste ins 2. niederster.. sind 5 zeilen code
-
Achtung: dieses endien zeug bezieht sich nur auf integrale datentypen. Ein string sieht auf nem Mac und nem x86 gleich aus.
Das bezieht sich auf alle Typen, die größer als ein Byte sind (bei einem Byte ist ja klar, dass nur das eine Byte am Anfang stehen kann :)).