网络编程之大小端

2018-09-01  本文已影响12人  zhimingcow

大端&小端

用C/C++写网络程序时,要注意字节的网络顺序和主机顺序的问题。

假设unsigned int num = 0x12345678,内存起始位置为0x4000,则在内存中的存放顺序为:

内存地址 小端模式 大端模式
0x4000 0x78 0x12
0x4001 0x56 0x34
0x4002 0x34 0x56
0x4003 0x12 0x78

网络字节顺序&主机字节顺序

也就是说我们在发送一个多字节数值的时候,需要确保发送前是大端模式,接收方再将大端模式转换为本机的大端或小端模式,即:

注意

数字所占位数小于或等于一个字节(8 bits)时,不要用htons转换。这是因为对于主机来说,大小尾端的最小单位为字节(byte)。

上一篇下一篇

猜你喜欢

热点阅读