BigEndian和LittleEndian
首先了解一些概念:
MSB(Most Significant Bit):高字节。
对于一个多字节的数据,高字节也就是它的高位(最低位应该是“个位”)。
LSB(Least Significant Bits)
对于一个多字节的数据,低字节也就是它的低位(最低位应该是“个位”)。
这里"B"是大写的表示字节,小写"b"表示位。
高地址和低地址:
对于内存的地址,从0x000000开始增加,也就是从低地址向高地址增加的过程。
BigEndian:指低地址存放最高有效字节(MSB)。又叫降序。
这里,是“正”序的体现符合我们的思维习惯。例如,我们写一个数字0x1234,从左向右写(高位->低位),那么在内存上也从小向大来存放(低->高),所以内存中看到的就依次是12 34.
LittleEndian:是低地址存放最低有效字节(LSB)。又叫开序。
这里,是“反”序的体现符合我们的思维习惯。例如,我们写一个数字0x1234,从左向右写(高位->低位),那么在内存上也从大向小来存放(高->低),所以内存中看到的就依次是34 12.
C/C 语言编写的程序里数据存储顺序是跟编译平台所在的CPU相关的,而JAVA编写的程序则唯一采用big endian方式来存储数据.
所有网络协议也都是采用big endian的方式来传输数据的。所以有时我们也会把big endian方式称之为网络字节序。当两台采用不同字节序的主机通信时,在发送数据之前都必须经过字节序的转换成为网络字节序后再进行传输。ANSI C中提供了四个转换字节序的宏。
自己总结了两种记忆方式:除了前面说的那种,还有一个:
Endian就是“端”,内存的端确定的就是最开始的0地址(最低地址),所以BigEndian就是大的存在低地址。大的,当然就是最高位。LittleEndian类似.
分享到:
相关推荐
little endian和big endian的概念解释
Big Endian & Little Endian.pdf Big Endian & Little Endian.pdf
nohead data big endian to little endian
对于大于十进制255(16进制0xff)的整数,需要多个存储单元。例如,4660对应于0x1234,需要两个字节。不同的计算机系统使用不同的方法保存这两个字节。...前一种就被称为Little Endian,后一种就是Big Endian。
php 字符编码转换类,支持ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom 互相转换。
(包括ANSI、UNICODE、UNICODE big endian、UTF-8)格式的文本文件 */ //核心算法:CStdioFileEx继承自CStdioFile, 覆盖CStdioFile的 BOOL ReadString(CString& rString)方法, // 根据不同文件编码特征,寻找文件...
比较详细的介绍了大小端问题。嵌入式系统开发者应该对Little-endian和Big-endian模式非常了解。
little endian,big endian 小端存储、大端存储.zip
VC ANSI环境下按行读取ANSI、UNICODE 、UNICODE big endian、UTF-8四种文本文件.docx
文本字符串编码在 Text、ANSI、Unicode、Unicode Big Endian、UTF-8、 UTF-7 之间的互相转换,转换结果使用十六进制表示。
读取ANSI 明码文件 读取Unicode 明码文件 读取Unicode big endian 明码文件 读取UTF-8 明码文件 读取UTF8 Bom 明码文件 读取UTF16-LE 明码文件 读取UTF16-BE 明码文件 到多字节字符串 扩展类CFilePlainCode
包括IbmConverter类以及EBCDIC字符串,Big Endian Int16,Big Endian Int32和IBM System / 360单精度浮点格式的BinaryReader和BinaryWriter扩展。 欢迎发布。 请勿折叠,纺锤或切割。使用BinaryReader扩展方法的...
像这样将其添加到您的Cargo.toml : [ dependencies ]byteorder = " 1 " 如果要增强现有的Read和Write特征,请导入扩展方法,如下所示: use byteorder :: {ReadBytesExt, WriteBytesExt, BigEndian, LittleEndian}...
大端(Big Endian)与小端(Little Endian)简介
this pdf is for big endian little endian concept useful for application devloper
将StructToRaw属性StructToRaw一个结构,以指示序列化程序使用BigEndian或LittleEndian。 接受字段的MarshalAs属性,您可以: 数组字段的UnmanagedType.ByValArray和ArraySubType在序列化时将获得转录或填充。 ...
大端(Big_Endian)与小端(Little_Endian)简介
大端(Big Endian)与小端(Little Endian)详解 - 凌风探2016年4月2日 - 大端(BigEndian)与小端(LittleEndian)简介///1.你从哪里来?端模式(Endian)的... 将鸡蛋敲开的人被归为BigEndian从尖头开始将鸡蛋敲开的人被归为...
- 编码是什么 - 字符是什么 - 字符集是什么 - 编码用在哪 - 我们常出现的错误(乱码) - 怎么正确的使用编码
在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式。 先回顾两个关键词,MSB和LSB: MSB:Most Significant Bit ------- 最高有效位 LSB:Least ...