【问题标题】:Bit ordering in a byte, does it matter?字节中的位排序,有关系吗?
【发布时间】:2014-07-31 09:45:02
【问题描述】:

假设我们在网络上有两台机器 MAMB
MA 考虑小端序一个字节,
相反,MB 考虑大端字节序。

MAMB 如何就在字节中的位使用什么“字节序”达成一致 网络通讯?

是否有标准的“网络字节序”或什么?
套接字程序员是否必须采取任何措施来确保正确的通信?

例如 HTTP 是一个文本协议,这意味着机器发送和接收代表字符的字节,如果字符的编码在位的字节序上不同怎么办?

谢谢

【问题讨论】:

    标签: networking protocols endianness


    【解决方案1】:

    是的,硬件协议指定所有网络链接上字节的位顺序。这通常由 NIC 硬件自动处理。

    例如,参见Ethernet 帧格式的说明。

    以太网传输很奇怪,字节顺序是big-endian(最左边的字节先发送),但位顺序little-endian(最右边,或字节的LSB(Least Significant Bit)先发送)。

    【讨论】:

    • 是的,谢谢。我在谷歌上搜索过类似的东西,但没有成功。
    【解决方案2】:

    查看此页面:http://www.comptechdoc.org/independent/networking/protocol/protlayers.html 它表明字节排序是在相当高的表示层完成的。但是,这将与您正在使用的应用程序特别相关。我怀疑较低级别的数据(包装较高级别)具有预定的字节和位顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      • 2013-11-03
      • 1970-01-01
      • 2021-08-28
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多