假设我们在网络上有两台机器 MA 和 MB ,
MA 认为小端是一个字节中位的顺序,
相反 MB cosiders big endian一个字节中位的顺序。
MA 和 MB 如何同意在字节期间用于字节中的位的“endianess” 通过网络进行通信?
是否有标准的“网络结束”或什么? 套接字程序员是否必须采取任何措施来确保正确的通信?
例如,HTTP是一种文本协议,这意味着机器发送和接收代表字符的字节,如果字符的编码在位的字节顺序上有什么不同呢?
感谢
答案 0 :(得分:2)
是的,硬件协议指定所有网络链路上的字节位顺序。这通常由NIC硬件自动处理。
例如,请参阅Ethernet帧格式的此描述。
以太网传输很奇怪,因为字节顺序是大端(最左边的字节先发送),但是字节的位顺序是小端(最严格的,或最低位的LSB(最低有效位))。
答案 1 :(得分:0)
查看此页面:http://www.comptechdoc.org/independent/networking/protocol/protlayers.html 它表明字节排序是在表示层完成的,这是非常高的。然而,这将特别涉及您正在使用的应用程序。我怀疑较低级别的数据(包含较高级别)具有预定的字节和位顺序。