endianness相关内容

为什么 BinaryReader.ReadUInt32() 反转位模式?

我正在尝试使用 BinaryReader 类读取二进制文件,我需要将它作为 UInt32 块读取,然后进行一些位移等后记. 但是,由于某种原因,当我使用 ReadUInt32 方法时,位顺序颠倒了. 例如,如果我有一个文件,其中前四个字节在十六进制中看起来像这样,0x12345678,它们在被 ReadUInt32 读取后最终是这样的:0x78563412. 如果我使用 Read ..
发布时间:2021-11-24 22:58:13 C#/.NET

以小端顺序将字节数组值转换为短值

我有一个字节数组,其中数组中的数据实际上是短数据.字节按小端排序: 3, 1, -48, 0, -15, 0, 36, 1 转换为短值时会导致: 259、208、241、292 Java 中是否有一种简单的方法可以将字节值转换为相应的短值?我可以编写一个循环,只取每个高字节并将其移位 8 位,然后将其与其低字节进行或运算,但这会影响性能. 解决方案 With jav ..
发布时间:2021-11-18 04:15:26 Java开发

从字节 [] 创建音频剪辑

我有问题.我使用 sqlite 来存储声音.我在字节 [] 中从中得到声音.然后将 byte[] 转换为 float[]: private float[] ConvertByteToFloat(byte[] array){float[] floatArr = new float[array.Length/4];for (int i = 0; i ..
发布时间:2021-11-18 03:39:06 C#/.NET

如何将浮点数组转换为 byte[] 并返回?

我有一个 Floats 数组,需要将其转换为字节数组并返回到 float[]... 谁能帮我正确地做到这一点? 我正在使用 bitConverter 类,但发现自己在尝试追加结果时卡住了. 我这样做的原因是我可以将运行时值保存到 IO 流中.目标存储是 Azure 页面 blob,以防万一.我不关心它存储在什么字节序中,只要输入与输出匹配即可. static byte[] Conve ..
发布时间:2021-11-18 02:25:52 C#/.NET

如何将字节数组转换为整数数组

我正在使用以下方法读取文件: int len = (int)(new File(args[0]).length());FileInputStream fis =新的 FileInputStream(args[0]);字节 buf[] = 新字节 [len];fis.read(buf); 正如我在此处找到的.是否可以将 byte array buf 转换为 Int Array ?将 Byte A ..
发布时间:2021-11-18 02:09:54 Java开发

c# - 如何使用bitConverter.ToInt32方法从c#中的大端获取小端数据?

我正在用 C# 制作应用程序,它有一个包含十六进制值的字节数组. 我以 big-endian 的形式获取数据,但我希望以 little-endian 的形式获取数据,并且我正在使用 Bitconverter.toInt32 方法将该值转换为整数. 我的问题是,在转换值之前,我必须将该 4 字节数据从源字节数组复制到临时数组中,然后反转该临时字节数组. 我无法反转源数组,因为它还包 ..
发布时间:2021-11-18 01:54:23 C#/.NET

使用 QEMU 模拟 Big Endian ARM 系统

是否可以编译一些 Linux 内核并在 QEMU 上运行它,模拟一些 Big Endian ARM 处理器? 如果 QEMU 不能做到这一点,我很想听听其他系统模拟器的情况. 我的基本目标是在尽可能多的原生环境中运行和调试专用的 Big Endian ELF. 每一个接近的解决方案或想法都会有所帮助! 解决方案 QEMU 支持 big-endian ARM CPU,但目前 ..
发布时间:2021-11-17 22:27:44 其他开发

如何确定处理器运行的字节序模式?

如何仅使用汇编语言确定 ARM 处理器运行的字节序模式. 我可以很容易地看到 Thumb/ARM 状态读取 CPSR 的第 5 位,但我不知道 CPSR 或其他地方是否有相应的位用于字节序. ;当我可能处于 Thumb 模式时尝试执行 ARM 代码的愚蠢示例....MRS R0,CPSRANDS R0,#0x20BNE ThumbModeIsActiveB ARMModeIsActive ..
发布时间:2021-11-17 22:19:26 其他开发

ARM中的字节序转换

如何在 ARM 中将大端转换为小端? 解决方案 你是在谈论 ARM 的字节序模式,还是在阅读其他一些大字节序处理器编写的内容等? 通常在大端/小端之间进行转换,您可以交换字节.所以 0xABCD 被视为 16 位数字时是 0xCDAB 0x12345678 是 0x78563412 时被视为 32 位数字. ARM 内核 armv5 及更早版本(ARM7、ARM9 等)具有称为 ..
发布时间:2021-11-17 21:43:18 其他开发

C 宏定义以确定大端或小端机器?

是否有一行宏定义来确定机器的字节序.我正在使用以下代码,但将其转换为宏会太长. unsigned char test_endian( void ){int test_var = 1;无符号字符 *test_endian = (无符号字符*)&test_var;返回(test_endian[0] == 0);} 解决方案 支持任意字节顺序的代码,准备放入一个名为order32.h的文件中: ..
发布时间:2021-11-17 01:39:57 其他开发

Little-Endianness 在 x86 架构中是字节顺序还是位顺序?

标题说明了一切.我想知道从内存读取数据的 x86 指令是否将其字节或其位转换为小端顺序.例如,如果我们在地址 0(二进制)(此处以 RAW 格式,顺序写入)有以下数据: 00110010 01010100 我们是这样阅读的: mov ax, word [0] AX 将包含什么 - “01010100 00110010"或“00101010 01001100"?或者翻译成十进制的无符 ..
发布时间:2021-09-29 19:30:10 其他开发

在 Intel x86-64 架构上是否以小端 4 字节字获取机器代码指令?

尽管词的常见定义(如维基百科所述)是: 用于指定内存中位置的最大可能地址大小通常是硬件字(此处,“硬件字"是指处理器的全尺寸自然字,与使用的任何其他定义相反). x86 系统,根据 一些来源,注意它被视为 16 位: 在 x86 PC(Intel、AMD 等)中,虽然架构早已支持 32 位和 64 位寄存器,它的原生字长又回来了到它的 16 位起源,以及一个“单"字是 16 位. ..
发布时间:2021-09-28 18:30:49 其他开发

MIPS XSPIM 不同的字节顺序混乱

作为第一次使用 MIPS 的我似乎很困惑.我有一个同学说那里XSPIM是大端.但是,在 Linux 中它是小端字节序.如果 MIPS 可以是小端或大端.有没有办法在 XSPIM 中找出它在您的机器中是按小端还是大端运行? 解决方案 SPIM 采用运行它的机器的字节序.(http://www.dsi.unive.it/~arcb/LAB/spim.htm#Byte%20Order) 这 ..
发布时间:2021-06-02 22:18:50 其他开发

x86程序集以编程方式确定字节序

我了解到Intel x86是低端格式的.但是,我该如何编写程序集来以编程方式确定处理器的耐久性? 解决方案 存储一个单词,该单词的两个字节均具有不同的值(例如, 0x0001 ).从相同的地址加载一个字节,然后检查它与原始单词的哪个字节匹配. ..
发布时间:2021-05-04 19:51:47 其他开发

字节交换与数组?

首先,请原谅我极其业余的编码知识.我在一家公司实习,并被指派在C ++中创建一个代码,该代码交换字节以获取正确的校验和值. 我正在阅读类似于以下内容的列表:S315FFF200207F7FFFFF42A000000000001B000000647CS315FFF2003041A00000FF7FFFFF0000001B00000064EDS315FFF2004042480000FF7FFFF ..
发布时间:2021-05-04 19:51:44 C/C++开发

转换字节序后,将16BitPCM转换为.wav,.wav文件将向后播放

我正在尝试构建一个可记录PCM音频并将其导出为wav文件的Android应用. 对于8BitPCM来说,它工作正常,但是当我切换到16BitPCM时,出现白噪声. 我终于弄清楚这是字节数组的字节序,但是现在,从Little Endian转换为Big Endian之后,我的音频清晰了,但是反转了! 这是我调用方法的方式: byte [] inputByteArray = co ..
发布时间:2021-05-04 19:51:38 Java开发