L_01 网络字节顺序

(1)计算机在存储多字节数据时存在大端字节顺序和小端字节顺序两种方式

大端:高位字节排放在内存的低地址端(即该值的起始地址),低位字节排放在内存的高地址端。

小端:低位字节排放在内存的低地址端(即该值的起始地址), 高位字节排放在内存的高地址端。

如图1所示:

(2)对于字符编码,编码标准中明确规定了采用的字节顺序,但对于整型数据则并不存在类似的规定,整型数据是最基本的数据类型,也是计算机CPU指令能直接处理的数据类型,之所以存在大端和小端顺序两种字节顺序,就源于CPU内部表示整型数据的字节顺序不同。(常见PC机基于X86架构的CPU是小端字节顺序,而PowerPC系列的CPU大多采用的是大端字节顺序,为了提高处理速度,整数各字节无论是在外部存储还是在内存中其存放顺序必须与CPU一致)。

(3)无论采用的大端字节顺序还是小端字节顺序,在网络通信中,对一台计算机所采用的字节顺序都统称为主机字节顺序。在编写网络程序时,规定发送端要发送的多字节数据必须先转换成与具体CPU无关的网络字节顺序在发送,接收端接收到数据后再将在将数据转换为主机字节顺序。网络字节顺序采用的是大端存储方式。

原文地址:https://www.cnblogs.com/dingou/p/6497014.html