automatische Konvertierung der Endianness

445
manoj

Ich habe zwei kleine Endian-Systeme, während Daten zwischen ihnen übertragen werden. Dies geschieht in der Bytereihenfolge des Netzwerks, dh Big Endian, aber ich erhalte die Daten ordnungsgemäß. Bedeutet das, dass der Compiler das automatisch erledigt und konvertiert?

0
Aufschlussreiche Antworten auf Ihre Frage finden Sie hier [Interpretation der im Speicher des Little Endian-Computers gespeicherten Bytes] (https://superuser.com/q/629587/172747) und [Wireshark - wie kann ich Little Endian Big beobachten? Endian Unterschied in Byte-Reihenfolge bei Wireshark?] (https://superuser.com/q/1186463/172747) bummi vor 7 Jahren 0

1 Antwort auf die Frage

0
Seth

Nein, das stimmt nicht. Ihr Netzwerkstapel ist jedoch wahrscheinlich der Fall.

Siehe auch Wikipedia-Artikel zum Thema Endiannness und insbesondere RFC1700 .

Im Wesentlichen entschieden einige einflussreiche Personen, dass Ihre Bytereihenfolge in den meisten Fällen Big Endian sein sollte. Beachten Sie, dass dies nicht unbedingt auf alle Layer zutreffen muss. Es ist nur so, dass in den meisten Fällen die Bytereihenfolge des Netzwerks Big Endian sein wird und Ihr System hoffentlich genug Abstraktion hat, damit Sie sich nicht darum kümmern müssen.

Ihre tatsächliche Plattform ist auch ein wichtiger Faktor. In gewisser Weise kümmert sich der Compiler bis zu einem bestimmten Punkt darum, weil Sie sich in den meisten Szenarien nicht wirklich darum kümmern.