逛奔的蜗牛
我不聪明,但我会很努力
:: ::
新随笔
:: :: ::
管理
::
随笔分类
C/C++(67)
(rss)
Cocoa(26)
(rss)
Java(186)
(rss)
Mac(126)
(rss)
OpenGL(25)
(rss)
Qt(164)
(rss)
Qt自定义Widget(12)
(rss)
Xcode(5)
(rss)
其他编程(94)
(rss)
设计模式(2)
(rss)
外语(4)
(rss)
网文(74)
(rss)
搜索
最新评论
1. re: Java:用 Java 7 运行 IDEA 13
great post
--contact form
Java:unicode big endian
endian词源
“
endian
”一词来源于
乔纳森·斯威夫特
的小说
格列佛游记
。小说中,
小人国为水煮蛋该从大的一端(Big-End)剥开还是小的一端(Little-End)剥开而争论,争论的双方分别被称为Big-endians和Little-endians。
1980年,Danny Cohen在其著名的论文"
On Holy Wars and a Plea for Peace
"中为平息一场关于
字节
该以什么样的顺序传送的争论而引用了该词。
endian翻译为“
字节序
”
,又称
端序
,
尾序
。在
计算机科学
领域中,
字节序
是指存放多字节数据的字节(byte)的顺序,典型的情况是整数在
内存
中的存放方式和
网络传输
的传输顺序。Endianness有时候也可以用指
位序
(bit)。
一般而言,字节序指示了一个UCS-2
字符
的哪个字节存储在低地址。如果LSByte在MSByte的前面,即LSB为低地址,则该字节序是
小端序
;反之则是
大端
序
。在
网络编程
中,字节序是一个必须被考虑的因素,因为不同的
处理器
体系可能采用不同的字节序。在多平台的代码编程中,字节序可能会导致难以察觉的
bug
。
BIG ENDIAN
:
最低位地址存放高位字节,可称高位优先,内存从最低地址开始按顺序存放(高数位数字先写)。
最高位字节放最前面。
LITTLE ENDIAN
:
最低位地址存放低位字节,可称低位优先,内存从最低地址开始按顺序存放(低数位数字先写)。
最低位字节放最前面。
编辑本段
Big Endian解释
最低位地址存放高位字节,可称高位优先,内存从最低地址开始按顺序存放(高数位数字先写)。最高位字节放最前面。
例如“汉”字的Unicode编码是6C49。如果将6C写在前面,就是big endian。还是将49写在前面,就是little endian
编辑本段
Big Endian示例图
对于单一的
字节
(
a byte
),大部分
处理器
以相同的顺序处理
位元
(bit),因此单字节的存放方法和传输方式一般相同。
对于多字节数据,如整数(32位机中一般占4字节),在不同的处理器的存放方式主要有两种,以
内存
中0x0A0B0C0D的存放方式为例,分别有以下几种方式:
注: 0x前缀代表十六进制。
数据以8bit为单位
:
地址增长方向
→
...
0x0A
0x0B
0x0C
0x0D
...
示例中,
最高有效位
(MSB, Most Significant Byte)是0x0A 存储在最低的内存地址处。下一个字节0x0B存在后面的地址处。正类似于十六进制字节从左到右的阅读顺序。
数据以16bit为单位
:
地址增长方向
→
...
0x0A0B
0x0C0D
...
最高的16bit单元0x0A0B存储在低位。
posted on 2012-10-08 17:43
逛奔的蜗牛
阅读(1218)
评论(0)
编辑
收藏
引用
所属分类:
Java
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
Java:static final 变量的初始化
Java:Sublimetext格式化插件
Log4J 配置
Java:FastJson 主要API与类型
Java:用 Java 7 运行 IDEA 13
Java:Mavericks里安装Java 6
Qt:编码范围
Java:内存映射
Java:Java NIO之Buffer基础
Java:URLConnection访问网页
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
Powered by:
C++博客
Copyright © 逛奔的蜗牛