我有两个小端系统,在它们之间传输数据时,数据以网络字节顺序(即大端)传输,但我仍能正确接收数据。这是否意味着编译器会自动处理并转换数据?
答案1
不,不是。但你的网络堆栈可能确实如此。
也可以看看有关字节序的维基百科文章更具体地说RFC1700。
本质上,一些有影响力的人决定您的网络字节顺序在大多数情况下应为 Big Endian。请注意,这并不一定适用于所有层,只是在大多数情况下网络字节顺序将为 Big Endian,并且您的系统希望具有足够的抽象性,您不必关心它。
您的实际平台也是一个重要因素,因此在某种程度上,编译器会在一定程度上关注它,因为在大多数情况下您不会真正关心它。