微信搜索“编程笔记本”,获取更多信息
------------- codingbook2020 -------------
今天我们来学习一下在网络编程中一个很重要的问题:字节序。
在使用网络进行程序设计中会碰到的一个问题是字节序的问题,这在基于单机或者同类型机器进行开发的过程中很少遇到。由于网络的特点是将 Internet 上不同的网络设备和主机进行连接和通信,这决定了使用网络进行开发的程序的特点就是要兼容各种类型的设备,其中的数据在不同的设备上要有唯一的含义。字节序的问题是上述情况下的典型问题。
字节序的含义
字节序的问题是由于 CPU 对整数在内存中存放方式的不同而造成的。多于一个字节的数据类型在内存中的存放顺序叫主机字节序。最常见的字节序有两种,小端字节序和大端字节序。
- 小端字节序
即 Little Endian ,简称 LE ,将数据的最低字节放在内存的起始位置。小端字节序的特点是内存地址较低的位存放数据的低位,内存地址高的位存放数据的高位,与思维习惯一致。采用小端字节序的 CPU 有 X86 架构的 Intel 系列产品 - 大端字节序
即 Big Endian ,简称 BE ,将数据的高字节放在内存的起始位置。大端字节序的特点是内存中低字节位置存放数据的高位字节,内存中的高位字节存放数据的较低字节数据,与思维习惯不一致。但是与