网络编程大端与小端的问题

2022-01-27 14:31:45 +08:00
 windbadboy

正在拜读《 TCPIP 网络编程》(作者:尹圣雨)一书,书在第 3 章有个例子,字节序转换(P45)。有些疑问请教。 对于 0x12345678(4 个字节)来说, Big Endian 在内存中的存储顺序应该是 0x12 0x34 0x56 0x78 Little Endian 在内存中的存储顺序应该是 0x78 0x56 0x34 0x12 但书中的程序输出结果,在说明测试机 CPU 是 Little Endian 的情况下,主机序还是为 Big Endian ,网络序却为 Little Endian 。我的疑问是不是说网络序采用 Big Endian 吗,为何得出的结果却是 Little Endian ?

1402 次点击
所在节点    编程
2 条回复
israinbow
2022-01-27 18:00:41 +08:00
和串行协议有关? 比如以太网高字节先传, 每一字节内低位先传.
Maboroshii
2022-01-27 18:02:19 +08:00
同一种网络协议实现的时候保证字节序一致就行了,不用纠结。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/830924

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX