我正在c#中实现DNS(实际上是多播DNS)。
我只想知道是否必须使用左边的LSB或左边的MSB编码我的uint / int / ushort / ....在全球范围内,我怎么知道这一点?其中一个是标准的吗?
因为我在IETF描述中没有找到任何内容。我发现了很多东西(每个标题字段长度,位置),但我没有找到它。
谢谢!
答案 0 :(得分:2)
答案在RFC 1035(2.3.2。数据传输顺序)
中以下是链接:http://www.ietf.org/rfc/rfc1035.txt
有趣的部分
2.3.2。数据传输顺序
此标题和数据的传输顺序 文档被解析为八位字节级别。每当图表显示一个 八位组,这些八位组的传输顺序是 用英语阅读的正常顺序。例如,在 如下图所示,八位字节按它们的顺序传输 编号
0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 1 | 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 3 | 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 5 | 6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
每当八位字节表示数字量时,最左边的位数 该图是高阶或最高有效位。那就是 标记为0的位是最重要的位。例如,以下内容 图表示值170(十进制)。
0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |1 0 1 0 1 0 1 0| +-+-+-+-+-+-+-+-+
类似地,每当多个八位字节字段表示数字量时 整个字段的最左边位是最重要的位。 当传输多个八位字节数量时,最重要的八位字节 首先传播。