字节顺序

✍ dations ◷ 2025-11-17 06:40:13 #字节顺序

字节顺序,又称端序或尾序(英语:Endianness),在计算机科学领域中,指电脑内存中或在数字通信链路中,组成多字节的字的字节的排列顺序。

在几乎所有的机器上,多字节对象都被存储为连续的字节序列。例如在C语言中,一个类型为int的变量x地址为0x100,那么其对应地址表达式&x的值为0x100。且x的四个字节将被存储在电脑内存的0x100, 0x101, 0x102, 0x103位置。

字节的排列方式有两个通用规则。例如,将一个多位数的低位放在较小的地址处,高位放在较大的地址处,则称小端序;反之则称大端序。在网络应用中,字节序是一个必须被考虑的因素,因为不同机器类型可能采用不同标准的字节序,所以均按照网络标准转化。

例如假设上述变量x类型为int,位于地址0x100处,它的值为0x01234567,地址范围为0x100~0x103字节,其内部排列顺序依赖于机器的类型。大端法从首位开始将是:0x100: 0x01, 0x101: 0x23,..。而小端法将是:0x100: 0x67, 0x101: 0x45,..

“endian”一词来源于十八世纪爱尔兰作家乔纳森·斯威夫特(Jonathan Swift)的小说《格列佛游记》()。小说中,小人国为水煮蛋该从大的一端(Big-End)剥开还是小的一端(Little-End)剥开而争论,争论的双方分别被称为“大端派(Big-Endians)”和“小端派(Little-Endians)”。以下是1726年关于大小端之争历史的描述:

1980年,丹尼·科恩(Danny Cohen),一位网络协议的早期开发者,在其著名的论文""中,为平息一场关于字节该以什么样的顺序传送的争论,而第一次引用了该词。

在哪种字节顺序更合适的问题上,人们表现得非常情绪化,实际上,就像鸡蛋的问题一样,没有技术上的原因来选择字节顺序规则,因此,争论沦为关于社会政治问题的争论,只要选择了一种规则并且始终如一地坚持,其实对于哪种字节排序的选择是任意的。

对于单一的字节(),大部分处理器以相同的顺序处理位元(bit),因此单字节的存放方法和传输方式一般相同。

对于多字节数据,如整数(32位机中一般占4字节),在不同的处理器的存放方式主要有两种,以内存中0x0A0B0C0D的存放方式为例,分别有以下几种方式:

大端序(英:big-endian)或称大尾序。

示例中,最高位字节是0x0A 存储在最低的内存地址处。下一个字节0x0B存在后面的地址处。正类似于十六进制字节从左到右的阅读顺序。

最高的16bit单元0x0A0B存储在低位。

小端序(英:little-endian)或称小尾序。

最低位字节是0x0D 存储在最低的内存地址处。后面字节依次存在后面的地址处。

最低的16bit单元0x0C0D存储在低位。

当更改地址的增长方向,使之由右至左时,表格更具有可阅读性。

最低有效位(LSB)是0x0D 存储在最低的内存地址处。后面字节依次存在后面的地址处。

最低的16bit单元0x0C0D存储在低位。

混合序(英:middle-endian)具有更复杂的顺序。以PDP-11为例,0x0A0B0C0D被存储为:

可以看作高16bit和低16bit以大端序存储,但16bit内部以小端存储。

网络传输一般采用大端序,也被称之为网络字节序,或网络序。IP协议中定义大端序为网络字节序。

Berkeley套接字定义了一组转换函数,用于16和32bit整数在网络序和本机字节序之间的转换。htonl,htons用于本机序转换到网络序;ntohl,ntohs用于网络序转换到本机序。

一般用于描述串行设备的传输顺序。网络协议中只有数据链路层的底端会涉及到。

相关

  • 尸冷尸冷(Algor mortis)是指恒温动物死亡后,新陈代谢和产热停止,由于自然散热体温下降的现象。尸冷的温度下限是环境温度,但后来腐烂过程开始后,尸体温度可能又会上升。成年人类死亡后
  • 现实疗法异常心理学 行为遗传学 生物心理学 心理药物学 认知心理学 比较心理学 跨文化心理学 文化心理学 差异心理学(英语:Differential psychology) 发展心理学 演化心理学 实验心理学
  • span class=nowrapHosub2/sub(SOsub4/sub)sub&g硫酸钬是一种无机化合物,化学式为Ho2(SO4)3。用硫酸溶解氧化钬,可以得到硫酸钬。
  • 建设粤港澳大湾区工作委员会建设粤港澳大湾区工作委员会(葡萄牙语:Comissão de Trabalho para a Construção da Grande Baía Guangdong-Hong Kong-Macau,葡文缩写:CCGBA),在澳门特别行政区行政长官管辖及
  • 罗志祥国族事件罗志祥国族事件,是在“周子瑜国旗事件”成为了热门话题后,罗志祥于2016年1月14日在北京出席电影宣传活动,该影片于2016年1月17日上传至YouTube,片中罗志祥以“不用分那么细,我们
  • 花荵科 * 电灯花属 * * * * * 天蓝绣球属 花荵属 * * 并不是所有的分类学家都承认花荵科也叫翠梅科,包括18-25属约270-400种,分布于北半球和部分南美洲,绝大
  • 卢埃里·罗宾森卢埃里·罗宾森,爱尔兰电影导演、编剧。他主要以他的科幻短片和动画而闻名,其中,《一半儿灰色》被提名奥斯卡金像奖,也被包含在Animation Show of Shows中。短片《沉默之城》讲
  • 铜岩站铜岩站(朝鲜语:동암역/銅岩驛  */?)是一个仁川广域市富平区十井洞(朝鲜语:십정동),属于京仁线的电铁站。有首都圈电铁1号线运行。此站非常接近仁川1号线间石五岔路口站,此站与间石
  • 森田则之森田则之(英语:Noriyuki Morita,1932年6月28日-2005年11月24日),昵称派特·森田(Pat Morita)生于美国加州,美国著名影星,为日本移民第二代,以演出《小子难缠》中的空手道大师而闻名。1972年,在电视系列剧《神探可伦坡》第2季第1集中,饰演音乐指挥家Alex Benedict的管家;1984年,获得奥斯卡最佳男配角奖提名,但没有得奖。《海绵宝宝》有一短篇“空手道大王”(Karate Island,第七季第71集B),为纪念此人而做的节目。
  • 萨克森-哥达-阿尔滕堡的弗蕾德里克萨克森-哥达-阿尔滕堡的弗蕾德里克(德语:Friederike von Sachsen-Gotha-Altenburg,1715年7月17日-1775年5月2日)是腓特烈二世的女儿,母亲是安哈尔特-采尔布斯特的玛格达列娜·奥古斯塔。1734年,弗蕾德里克与萨克森-魏森费尔斯的约翰·阿道夫二世结婚,两人共有1子1女: