问题标签 [endianness]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1330 浏览

python - Ruby 的 pack 函数的 Python 等价物

我正在将一些旧的 Ruby 脚本翻译成 Python,但我在 Python 中找不到属于 Ruby 的函数: http ://www.ruby-doc.org/core/classes/Array.src/M002222.html -这使数组保持小端字节顺序。有没有可以帮助我的 Python 模块?

0 投票
21 回答
116009 浏览

c - C 宏定义来确定大端或小端机器?

是否有一行宏定义来确定机器的字节顺序。我正在使用以下代码,但将其转换为宏会太长。

0 投票
2 回答
1028 浏览

c# - EndianBinaryReader - 输入流的持续更新?

我正在尝试使用 Jon Skeet 写的EndianBinaryReaderEndianBinaryWriter作为他的misc utils lib的一部分。它非常适合我使用它的两种用途。

TCPClient第一次EndianBinaryReader读取来自网络流 ( 我EndianBinaryReader通过传入来构建TCPClient.GetStream

我现在在从 UdpClient 读取时尝试做同样的事情,但这没有流,因为它的连接较少。所以我得到这样的数据

我可以将这些数据放入内存流

然后创建EndianBinaryReader

但这意味着我每次阅读时都必须创建一个新的字节序阅读器。有没有一种方法可以只创建一个流,我可以使用来自 udp 客户端的数据不断更新输入流?

0 投票
4 回答
4893 浏览

c++ - C++ 中文件的大端和小端

我正在尝试编写一些独立于处理器的代码来以大端格式编写一些文件。我在下面有一个代码示例,但我不明白为什么它不起作用。它应该做的就是让字节以大端顺序一个一个地存储数据的每个字节。在我的实际程序中,我会将单个字节写入文件,因此无论处理器架构如何,我都会在文件中获得相同的字节顺序。

由于某种原因,字节的值始终为 0。这让我感到困惑,我正在查看调试器并看到以下内容:

数据 = 00010010001101000101011001111000 位掩码 = 11111111000000000000000000000000

我认为数据和掩码会给出 00010010,但它每次只会产生 00000000 字节!他怎么可能?我已经为小端顺序编写了一些代码,效果很好,见下文:

为什么小端不工作而大端不工作?谢谢你的帮助 :-)

0 投票
13 回答
414831 浏览

c - 在C中将大端转换为小端[不使用提供的函数]

我需要在 C 中编写一个将大端转换为小端的函数。我不能使用任何库函数。

0 投票
4 回答
4416 浏览

python - 使用 Python 的 struct 模块翻转字节

我想把这个字符串从大端翻转到小端:

\x00\x40

像这样:

\x40\x00

我猜想使用的正确函数是 struct.pack,但我找不到让它正常工作的方法。一个小小的帮助将不胜感激!

谢谢

0 投票
8 回答
7097 浏览

c++ - 在 C/C++ 中从 64 位值中获取 32 位字,而不用担心字节顺序

我的理解是,在 C/C++ 中,位运算符应该是独立于字节序的,并且按照您期望的方式运行。我想确保我真正从 64 位值中得到最重要和最不重要的字,而不用担心机器的字节顺序。这是一个例子:

这行得通吗?

0 投票
4 回答
24302 浏览

python - 在 Python 中将“little endian”十六进制字符串转换为 IP 地址

将这种形式的字符串转换为 IP 地址的最佳方法是什么:"0200A8C0". 字符串中出现的“八位字节”是相反的顺序,即给定的示例字符串应该生成192.168.0.2.

0 投票
7 回答
1958 浏览

c - 什么时候担心字节顺序?

我看过无数关于字节序及其含义的参考资料。我对此没有任何问题......但是,我的编码项目是一个简单的游戏,可以在标准“游戏玩家”硬件上运行在 Linux 和 Windows 上。在这种情况下我需要担心字节顺序吗?我什么时候需要担心它?我的代码是简单的 C 和 SDL+GL,唯一复杂的数据是基本媒体文件(png+wav+xm),游戏数据主要是字符串、整数布尔值(用于标志等)和静态大小的数组。到目前为止,没有用户遇到问题,所以我想知道是否需要添加检查(稍后会完成,但 IMO 有更紧急的问题)。

0 投票
1 回答
346 浏览

c - 提取由数字中的一组特定位表示的值

如何提取由给定数字中的一组特定位表示的值,即如果位 11、12 和 13 为 1、1、0,则该值应为 6。

做同样的事情最有效的方法是什么?此外,它应该是通用的。我应该能够给出开始和结束位的位置,并且应该能够提取由开始和结束位置之间的位表示的值。

例如:00000000 00000000 01100000 00011111

对于上面的数字,考虑到第 0 位是从右端开始,如果我给这个数字,0 作为起始位置,2 作为结束位置,那么我应该得到值 7。

另外,对于上述问题,我们如何处理字节序?