endianness相关内容

有关Endian-ness和.Net的详细信息?

我有一些关于字节序的问题,它们之间的关联性很强,以至于我保证将它们作为一个问题加以解决: 1)字节序是否由决定。是网络还是硬件? 2)如果是由硬件决定的,我如何找出C#中硬件的字节顺序? 3)字节序是否会影响二进制交互,例如OR,AND,XOR或移位?即会一次向右移动是否总是会移出最低有效位吗? 4)我对此表示怀疑,但是从不同版本的字节序开始,字节序是否有所不同?网络框架? ..
发布时间:2020-10-29 18:34:12 C#/.NET

确定字节序的最Python方式是什么?

我正在尝试找出计算代码运行的机器是大端还是小端的最佳方法。我有一个可行的解决方案(尽管我尚未在大端机上对其进行测试),但似乎有些笨拙: import struct little_endian =(struct.pack('@ h',1)== struct.pack(' ..
发布时间:2020-10-29 18:34:08 Python

char数组在小端或大端系统中的顺序是否会有所不同

我有一个数组 char c [12] = {'a','b','c','d','e','f','g','h ','0','1','2','3'} 在十六进制中,这些值为 {0x61、0x62、0x63、0x64, 0x65、0x66、0x67、0x68、0x30、0x31、0x32、0x33} 我想知道的是数组是否将存储在 我认为它们是相同的,因为字节序系统通过确定如何以最少或最小的方 ..
发布时间:2020-10-29 18:34:06 其他开发

小端和大端

我必须编写一个例程以在两种表示形式之间进行转换。 但是我有点困惑。 如果我有一个具有32位字的内存的结构 ,并且必须使用Big-endian存储字0xA15D23B1 ,则该内存在23天之后的5D之后到最后的B1 $变成A1。 b $ b和Little-endian相比,内存在5D之后的23之后和A1之后的内存是B1 是吗? 如果我可以寻址机器上的各个字节,并且字的地址为零 谁是 ..
发布时间:2020-10-29 18:34:04 其他开发

struct sockaddr_in bind()的成员字节顺序

我正在学习套接字编程,对我在学习资料中对 htons()和函数族的用法不一致感到困惑。我目前正在阅读此网站,其中包含以下代码段: 001 1:struct sockaddr_in adr_inet; 002 2:int adr_len; 003 3: 004 4:memset(& adr_inet,0,sizeof adr_inet); 005 5: 006 6:adr_i ..
发布时间:2020-10-29 18:33:01 其他开发

确定numpy数组的字节序

我有一个 numpy.array ,我想找出基础表示中使用的字节序。 记录了 byteorder 属性此处,但没有给出的示例显示它与数组一起使用。 解决方案 byteorder 是数据类型的对象 dtype 属性,因此您需要执行以下操作: 在[10]中:将numpy导入为np 在[11]中:arr = np.array([1,2,3]) 在[ 12]:arr.dtyp ..
发布时间:2020-10-29 18:32:57 Python

处理字节序和文件的最常用方法C ++

我刚开始使用char读取/写入8位整数到文件中。不久之后,我意识到我需要能够使用超过256个可能的值。我做了一些关于如何将16位整数读/写到文件的研究,并且意识到了大小端的概念。我进行了更多研究,发现了几种处理字节序的方法,并且我还学习了一些编写与字节序无关的代码的方法。我的总体结论是,我必须首先检查正在使用的系统使用的是大端还是小端,然后根据系统使用的类型来更改字节序,然后使用这些值。 我 ..
发布时间:2020-10-29 18:32:54 C/C++开发

将big.Int转换为little-endian字节片

我有一个big.Int,想将其转换为低位字节序的字节片。如果我使用 Int.Bytes ,我会得到大尾数字节切片。 有什么方法可以获取big.Int的小字节序字节片吗? 解决方案 最简单的解决方案是反转从 Bytes()返回的切片: b:= bigInt.Bytes() for i:= 0;我 ..
发布时间:2020-10-29 18:32:52 其他开发

在UTF-16,UTF-16BE,UTF-16LE中,UTF-16的字节序是否是计算机的字节序?

UTF-16是两字节字符编码。交换两个字节的地址将产生UTF-16BE和UTF-16LE。 但是我发现UTF-16编码的名称存在于Ubuntu gedit 文本编辑器,以及UTF-16BE和UTF-16LE。使用C测试程序,我发现我的计算机是低端字节序,并且已确认UTF-16与UTF-16LE的编码相同。 还:在小/大字节序计算机中,值(例如整数)有两个字节顺序。小型字节序计算机将在硬 ..
发布时间:2020-10-29 18:32:46 其他开发

字节序仅影响数字而不是字符串的内存布局,这是真的吗?

确实是体系结构是大字节序还是小字节序,只有数字的内存布局不同,字符串的内存布局是相同的。 解决方案 如果您有一个简单的8位字符表示形式(例如扩展的ASCII),则不会,字节序不会影响布局,因为每个字符都是一个字节。 如果您具有多字节表示形式,例如UTF-16,则可以,字节顺序仍然很重要(请参见例如 http://en.wikipedia.org/wiki/UTF-16#Byte_or ..
发布时间:2020-10-29 18:32:41 其他开发

字节顺序也适用于位顺序吗?

我在这里没有找到具体的问题,如果重复,请指出来,我将其删除。 真的,字节序与位顺序有关系吗? 这似乎暗示答案是否定的,而其他来源(我现在找不到,但是肯定我已经读了一些文章)暗示字节顺序是字节和位的顺序。 更具体地说:在Big Endian架构中,MSB首先出现在内部任何字节,也是MSb在先吗?相反,在Little Endian系统上,LSB首先出现,LSb也是最先出现吗? ..
发布时间:2020-10-29 18:32:38 其他开发

如何将32位整数转换为网络字节顺序?

如何将32位整数转换为网络字节顺序。 这样做的正确方法是什么? [1024] .pack(“ N”) OR [1,0,2,4] .pack(“ N”) 谢谢 解决方案 开始,看看每个输出: > [1024] .pack(“ N”) => “ \000\000\004\000” > [1,0,2,4] .pack(“ N ..
发布时间:2020-10-29 18:32:30 其他开发

我应该使用位域来映射传入的串行数据吗?

我们有数据通过串行(蓝牙)输入,该数据映射到特定的结构。结构的某些部分为亚字节大小,因此“显而易见的”解决方案是将传入数据映射到位字段。我无法解决的是机器或编译器的位字节序是否会影响它(这很难测试),我是否应该完全放弃位域。 例如,我们有一块1.5字节的数据,因此我们使用了以下结构: { uint8_t data1; // lsb uint8_t data2:4; // msb ..
发布时间:2020-10-29 18:32:28 其他开发

使用perl查找系统是小端还是大端

是否可以使用Perl查找我的系统是小端字节顺序还是大端字节顺序? 解决方案 perl -MConfig -e'print“ $ Config {byteorder} \n”;' 请参见 Perl文档。 如果输出字符串的第一个字节为1,则可以(具有中等安全性)假定它是低位字节序。如果是4或8,则可以采用big-endian。 ..
发布时间:2020-10-29 18:31:22 其他开发

转换“ little endian”十六进制字符串到Python中的IP地址

将这种形式的字符串转换为IP地址的最佳方法是什么:“ 0200A8C0” 。字符串中出现的“八位字节”是相反的顺序,即给定的示例字符串应生成 192.168.0.2 。 解决方案 套接字模块提供了网络地址处理。 socket.inet_ntoa(packed_ip) 将32位压缩的IPv4地址(长度为四个字符的字符串)转换为其标准的点分四进制字符串表示形式(例如'123.45. ..
发布时间:2020-10-29 18:31:18 Python

字节序背后的原因?

因此,我想知道为什么某些体系结构使用低端字节序,而另一些使用大端字节序。我记得我在某处读到了与性能有关的内容,但是,我不了解字节序会如何影响性能。我也知道: little-endian系统具有以下特性:可以从内存中以不同的长度读取相同的值,而无需使用不同的地址。 这似乎是一个不错的功能,但是即使如此,许多系统仍使用big-endian,这可能意味着big-endian具有一些优势。 ..
发布时间:2020-10-29 18:31:14 其他开发

不同字节序的好处是什么?

为什么某些处理器制造商决定使用 小尾数 大尾数 中间字节序 还有其他人吗? ? 我听说使用大尾数法可以更快地发现数字是否为正或负,因为该位是第一个。 (在现代CPU上这无关紧要,因为不再可以访问单个位。) 解决方案 endianness是变量可以使用相同的地址读取为任意长度。 例如,可以将32位变量读取为8位或16位变量而无需更改地址。这几天的收益可能有限,但 ..
发布时间:2020-10-29 18:31:10 其他开发

我可以安全地认为Windows安装将始终是低位优先的吗?

我正在Windows上编写一个用户空间文件系统驱动程序,而字节序转换是我一直在处理的事情,因为此特定文件系统始终以little-endian格式存储值,并且驱动程序应将其转换为(如有必要)正在运行的CPU。但是,我发现自己想知道是否还要担心字节序转换,因为据我所知,台式机Windows仅支持小字节序体系结构(IA32,x86-84等),因此也支持磁盘上的little-endian值是完美的sans ..
发布时间:2020-10-29 18:31:06 其他开发

字节序类型

以下类型的字节序有什么区别? 字节(8b)不变的字节序 半字(16b)不变的大和小字节序 字(32b)不变的大小似的小字节 double-单词(64b)不变的大小字节序 还有其他类型/变量吗? 解决方案 尾数映射有两种方法:地址不变性和数据不变性。 地址不变性 在这种类型的映射中,字节的地址始终保留在大小之间。这具有颠倒特定数据(例如2或4字节字)的有效顺序( ..
发布时间:2020-10-29 18:31:04 其他开发