关于字节序Big Endian和Little Endian

简介: 关于字节序 字节序指的是一个大于2个字节的类型的数据例如int 、long等在内存中的字节顺序。 字节序分为:网络字节序 (Big Endian) 比如 0x11223344 ,占四个字节,那么他的网络字节序在内存中就是 按照 44 33 22 11 排列,也就是Big Endian是低位存储在内存的低地址,高位 存储在内存的高地址。

关于字节序

字节序指的是一个大于2个字节的类型的数据例如int 、long等在内存中的字节顺序。

字节序分为:

网络字节序 (Big Endian)

 比如 0x11223344  ,占四个字节,那么他的网络字节序在内存中就是 按照  
  44 33 22 11 排列,也就是Big Endian是低位存储在内存的低地址,高位  
  存储在内存的高地址。

主机字节序 (Littlr Endian)

  比如 0x11223344  ,占四个字节,那么他在网络字节序中就是 按照 11 22 33 44   
  排列,也就是Big Endian是低位存储在内存的高地址,高位存储在内存的低地址。

最后

我们在网络编程中一定要注意,数据是按照网络字节序也就是Big Endian排列
的,需要在主机字节序和网络字节序之间进行转换一下。


目录
相关文章
|
5月前
|
存储 网络协议 C语言
一文带你秒懂 字节序(byte order),比特序(bit order),位域(bit field)
一文带你秒懂 字节序(byte order),比特序(bit order),位域(bit field)
655 0
|
12天前
|
Java
Byte 高位/低位简介绍(大端格式/小端格式)
Byte 高位/低位简介绍(大端格式/小端格式)
|
存储
【计算机基础】 --- LSB、MSB与大/小端字节序
【计算机基础】 --- LSB、MSB与大/小端字节序
586 0
|
存储 小程序 编译器
大小端字节序详解
在开始正文之前,我想先问一下大家,内存中是怎样存放一个数的?当然啊,我这里问的不是数据存储的形式(比如整数存原码,负数存补码),而是一个数据存放的顺序 我们先看下面这个例子,当我们看看当把十六进制函数0x11223344存进内存中会是怎么样的。
大小端字节序详解
|
存储
理解字节序
计算机硬件有两种储存数据的方式:**大端字节序**(big endian)和**小端字节序**(little endian)
84 0
|
存储 Java C++
大端(Big Endian)与小端(Little Endian)简介与实现
【大端(Big Endian)与小端(Little Endian)简介】Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。     对于数据中跨越多个字节的对象,我们必须为它建立这样的约定: (1) 它的地址是多少? (2) 它的字节在内存中是如何组织的?     针对第一个问题,有这样的解释:     对于跨
2363 0
|
存储
大端模式、小端模式、高字节序、低字节序、MSB、LSB
你知道内存是怎么读取数据的吗?知道数据是怎么一个一个字节发送的吗?是低字节先发还是高字节先发?是bit0先发还是bit7先发?是从低地址开始读还是从高地址开始读?看完本篇比应该就明白了~
1368 0
大端模式、小端模式、高字节序、低字节序、MSB、LSB
|
存储 网络协议 Unix
大端小端(Big- Endian和Little-Endian)探究
字节序,顾名思义字节的顺序,再多说两句就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。其实大部分人在实际的开发中都很少会直接和字节序打交道。唯有在跨平台以及网络程序中字节序才是一个应该被考虑的问题。
710 0