Endian一词是什么意思?? ????它暗示什么字节序

Endian一词是什么意思?? ????它暗示什么字节序
2026-10-05 05:29:41 华声在线 作者 想回渝的校招byr能够看看我单元 鸡蛋怎么吃更有营养 袁莉 新浪网官方账号

当资料、代码或十六进造数据中出现 Endian 时,,,, ,,, ,它通常指的是推算机若何分列一个多字节数据中的各个字节,,,, ,,, ,中文常译为字节序或端序。。。。。最常见的两种大局是 Big-endian(大端序)和 Little-endian(幼端序)。。。。。

单一说,,,, ,,, ,Endian回覆的是一个问题:一个数由多个字节组成时,,,, ,,, ,哪个字节放在前面,,,, ,,, ,或放在较低的内存地址处。。。。。它影响的是数据的分列方式,,,, ,,, ,而不是数据自身的数值大幼。。。。。

Endian具体暗示什么

推算机中的一个字节通常蕴含8位。。。。。像 0x12 这样的数只占一个字节,,,, ,,, ,不涉及字节分列;;;;;;;但 0x12345678 由四个字节组成,,,, ,,, ,别离是 0x12、0x34、0x56 和 0x78,,,, ,,, ,这时就必要划定它们的先后挨次。。。。。

统一个数在两种常见字节序下的分列
字节序 较低地址到较高地址的分列 寓意
大端序 Big-endian 12 34 56 78 最高有效字节放在前面
幼端序 Little-endian 78 56 34 12 最低有效字节放在前面

这里的“前面”在内存场景中通常指较低的内存地址,,,, ,,, ,在网络或文件场景中则常指先传输、先写入的字节。。。。。无论选取哪一种分列,,,, ,,, ,只有读取方使用一样规定,,,, ,,, ,最终都能还原为数值 0x12345678。。。。。

大端序和幼端序有什么区别

大端序:先放高位字节

大端序把一个多字节数中最沉要、权沉最高的字节放在前面。。。。。对于 0x12345678,,,, ,,, ,0x12 位于较低地址或传输挨次的最前方,,,, ,,, ,之后顺次是 0x34、0x56 和 0x78。。。。。

这种分列与人们书写十六进造数的挨次比力靠近,,,, ,,, ,因而查看十六进造转储时往往较直观。。。。。很多网络和谈也选取大端序,,,, ,,, ,并把它称为网络字节序。。。。。不外,,,, ,,, ,“网络字节序”是具体约定,,,, ,,, ,现实解析时仍应以和谈注明为准。。。。。

幼端序:先放低位字节

幼端序把最低有效字节放在前面。。。。。一样的 0x12345678,,,, ,,, ,在内存地址递增的方向上会显示为 78 56 34 12。。。。。这种分列常见于很多通用推算机系统,,,, ,,, ,常见的 x86 处置器系统通常选取幼端序。。。。。

幼端序并不料味着数值被“倒过来”或变幼了。。。。。它只是扭转了字节在内存中的排劣祝。。。。法式依照正确的幼端规定读取后,,,, ,,, ,依然得到原来的数值。。。。。

当你在看内存或十六进造数据时,,,, ,,, ,Endian意味着什么

若是问题呈此刻调试器、内存转储、二进造文件或设备数据中,,,, ,,, ,最容易产生猜疑的情况是:界面显示出的字节挨次与代码中看到的数值挨次不一致。。。。。

例如,,,, ,,, ,内存中陆续出现 78 56 34 12,,,, ,,, ,不能仅凭这四个字节就判定它代表一个很大的数。。。。。若当前体式选取幼端序,,,, ,,, ,这四个字节可能暗示 0x12345678;;;;;;;若选取大端序,,,, ,,, ,则可能暗示 0x78563412。。。。。因而,,,, ,,, ,读取原始数据时必要同时知路数据长度和字节序。。。。。

  • 单字节数据通常不受大幼端影响,,,, ,,, ,由于它没有可供互换的多个字节。。。。。
  • 16位、32位、64位整数等多字节数值,,,, ,,, ,通常必要明确字节序。。。。。
  • 一串文本字符或原始字节数组,,,, ,,, ,不应自动当成一个整数来套用大幼端规定。。。。。
  • 十六进造查看器显示的是字节分列,,,, ,,, ,不能直接等同于法式显示的数值。。。。。

当你在阅读网络和谈或文件体式时,,,, ,,, ,应怎么理解

在网络通讯和文件互换中,,,, ,,, ,Endian重要是为了让分歧设备、分歧处置器可能正确理解统一组字节。。。。。发送方把数值写成某种挨次,,,, ,,, ,接管方必须依照和谈划定的挨次还原。。。。。

例如,,,, ,,, ,一个和谈把长度字段划定为大端序,,,, ,,, ,那么长度值 0x0100 应写成 01 00。。。。。若是接管法式直接按幼端序诠释,,,, ,,, ,就会得到 0x0001,,,, ,,, ,了局可能与现实长度齐全分歧。。。。。反过来,,,, ,,, ,某些文件体式或设备接口也会明确选取幼端序,,,, ,,, ,不能由于“大端常被称为网络字节序”就一概套用大端规定。。。。。

文件体式还可能在统一个结构中划定分歧字段的类型和长度。。。。。有些字段是单字节标志位,,,, ,,, ,有些字段是幼端整数,,,, ,,, ,还有些字段是文本或固定字节串。。。。。此时,,,, ,,, ,Endian只合用于体式明确划定为多字节数值的部门,,,, ,,, ,不能把整份文件单一地理解成“大端文件”或“幼端文件”。。。。。

Endian与几个相近概想的区别

Endian不是数据编码

编码决定一段信息若何转换成字节,,,, ,,, ,例如字符若何暗示、数字若何编码;;;;;;;Endian决定多个字节在特定结构中的分列挨次。。。。。两者可能同时出现,,,, ,,, ,但不是统一个概想。。。。。

以文本为例,,,, ,,, ,某种字符编码可能使用两个或四个字节暗示字符,,,, ,,, ,同时还必要划定这些字节的先后挨次。。。。。此时,,,, ,,, ,字符编码解决“这些字节代表什么”,,,, ,,, ,Endian解决“这些字节怎么排劣妆。。。。。

Endian不是位序

字节序处置的是字节与字节之间的挨次,,,, ,,, ,例如 12 34 56 78 和 78 56 34 12。。。。。位序则会商一个字节内部的各个位若何诠释或传输,,,, ,,, ,两者属于分歧档次。。。。。浚 ????吹健案呶辉谇啊笔,,,, ,,, ,必要先确认会商的是字节还是位,,,, ,,, ,不能直接混用。。。。。

Endian也不是处置器机能或系统版本

大幼端不会直接暗示设备更快、更先进,,,, ,,, ,也不蹬宗某种特定软件版本。。。。。处置器、操作系统、编程说话库和文件和谈都可能别离划定或转换字节序。。。。。一个系统的处置器选取幼端序,,,, ,,, ,并不暗示它只能读写幼端数据;;;;;;;法式能够依照和谈把数据转换成大端大局。。。。。

Endian这个词为什么这样定名,,,, ,,, ,怎么读

Endian一词的定名通常追忆到乔纳森·斯威夫特《格列佛纪杏追中关于“大端派”和“幼端派”的嘲讽故事。。。。。后来推算机领域借用这一说法,,,, ,,, ,形成了 big-endian 和 little-endian 这两个术语。。。。。

英文 Endian 大体读作“恩迪安”,,,, ,,, ,其中 Big-endian 可译为“大端序”,,,, ,,, ,Little-endian 可译为“幼端序”。。。。。技术资猜中还会看到 endianness,,,, ,,, ,它暗示“选取哪一种字节序”或“字节序个性”。。。。。

一句话理解Endian

Endian就是多字节数据的字节分列规定:大端序把高位字节放前面,,,, ,,, ,幼端序把低位字节放前面。。。。。当只处置单个字节时通常无需分辨;;;;;;;当读取整数、内存数据、二进造文件或网络字段时,,,, ,,, ,则必须结合具体体式或和谈确认字节序。。。。。

出格申明:以上文章内容仅代表作者自己概想,,,, ,,, ,不代表新浪网概想或态度。。。。。如有关于文章内容、版权或其它问题请于文章颁发后的30日内与新浪网联系。。。。。
来自于:新浪网官方
网友评论
文岗与乐山钨业董事长钟可祥进行座谈
起底西贝供给商:同款冷冻西兰花和海鲈鱼还卖给了谁??????
分享到微博
颁布
最热评论
最新评论
暂无评论

举报邮箱:[email protected]

Copyright ? 1996-2026 SINA Corporation

All Rights Reserved 新浪公司 版权所有