主机字节序和网络字节序(大端序,小端序,网络序)

根据cpu的不同我们可以把主机字节序在内存中存储的顺序叫做主机序,也就是我们常说的,大端机和小端机。我们经常看到的有两种:

1.小端机(内存中以小端序存储的机器);将低字节序存储在开始的地址(及内存较小的内存)

2.大端机(内存中以大端序存储的机器):将高字节序存储在开始的的地址

举个例子:我们将内存从左到右排列:在内存中存放0x01020304

             2000     2001    2002     2003

小 : 04             03         02           01

大: 01               02         03          04

(我们熟悉的x86系列的cpu都是小端序)

网络字节序就不一样了,它是tcp/ip中规定好的一种表示数据的格式,没有什么大端小端之分。跟cpu和操作系统都没关系。只是为了保证数据在不同的操作系统之间能够正确的传递共享。网络字节序是用的大端序模式。所以在我们用的小端机中如果伴随着信息的传递,就会有大端序,小端序之间的转换。当然这都是系统内部的好函数自己来完成的。

你可能感兴趣的:(网络)