yd2333云顶电子游戏

Endian一词是什么意思??? ? ?它和巨细端有什么关系

当资料、代码或十六进制数据中泛起 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就是多字节数据的字节排列规则:大端序把高位字节放前面 ,,,,,小端序把低位字节放前面。。。。。当只处置惩罚单个字节时通常无需区分;;;;;当读取整数、内存数据、二进制文件或网络字段时 ,,,,,则必需连系详细名堂或协议确认字节序。。。。。

u2ydnlvbns7mittyrg558vzsrqom
免责声明:本内容来自腾讯平台创作者 ,,,,,不代表腾讯新闻或腾讯网的看法和态度。。。。。

相关推荐

热门应用推荐

腾讯新闻·电脑版
全网热门早知道

精选视频

韩国推出新的限制步伐以阻止过热的房地产市场

作者其他文章

  • 唯特偶收关注函:股价异动时代7次麋集路演 ,,,,,屡提“光??? ? ?椤
  • 持之以恒推进周全从严治党
?
顶部
【网站地图】【sitemap】