问题标签 [binary]

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 投票
63 回答
588639 浏览

algorithm - 如何计算 32 位整数中设置的位数?

代表数字 7 的 8 位如下所示:

设置了三位。

确定 32 位整数中设置位数的算法是什么?

0 投票
8 回答
1050 浏览

binary - 您将如何对从设备中提取的一组二进制数据进行逆向工程?

我的一个朋友前几天提出了这个问题,他最近买了一个 garmin 心率监测设备,可以跟踪他的心率,并允许他将一天的心率统计数据上传到他的电脑。

唯一的问题是 garmin USB 设备没有 linux 驱动程序,他设法解释了一些数据,例如型号和他的用户详细信息,并发现本质上存在一些二进制数据表,我们假设它们代表一系列记录他的心率和记录的时间。

当您对结构一无所知时,逆向工程数据从哪里开始?

0 投票
5 回答
20697 浏览

c++ - 将 1 和 0 的字符串转换为二进制值

我正在尝试将来自标准输入的 1 和 0 的传入字符串转换为它们各自的二进制值(其中诸如“11110111”之类的字符串将转换为 0xF7)。这似乎很简单,但我不想重新发明轮子,所以我想知道 C/C++ 标准库中是否有任何东西可以执行这样的操作?

0 投票
5 回答
1982 浏览

python - 在两个二进制文件中查找匹配序列

让我从一些背景开始。

今天早上,我们的一位用户报告说,Testuff 的安装文件已被 CA 防病毒报告为感染了病毒。确信这是误报,我在网上查看,发现另一个程序 (SpyBot) 的用户报告了同样的问题。

现在,对于实际问题。

假设防病毒软件正在文件中寻找特定的二进制签名,我想在两个文件中找到匹配的序列,并希望找到一种方法来调整设置脚本以防止该序列出现。

我在 Python 中尝试了以下方法,但它已经运行了很长时间,我想知道是否有更好或更快的方法。

有没有更好的 Python 库或其他语言可以做到这一点?也欢迎采用完全不同的方式来解决这个问题。

0 投票
3 回答
16865 浏览

c# - C# 文件读/写文件共享似乎不起作用

我的问题是基于继承大量我无法做的遗留代码。基本上,我有一个可以产生数据块的设备。一个库将调用设备来创建该数据块,出于某种原因,我不完全理解并且即使我想也无法更改,将该数据块写入磁盘。

此写入不是即时的,但最多可能需要 90 秒。在那个时候,用户想要获得正在生成的数据的部分视图,所以我想要一个消费者线程来读取另一个库正在写入磁盘的数据。

在我接触这个遗留代码之前,我想用我完全控制的代码来模拟这个问题。我使用 C#,表面上是因为它提供了很多我想要的功能。

在生产者类中,我有这段代码创建一个随机数据块:

到目前为止,一切都很好。此代码有效。当前版本(使用 FileStream 和 BinaryWriter)似乎与使用 File.Open 具有相同的选项和正在写入磁盘的 ushort[] 上的 BinaryFormatter 等效(尽管速度较慢,因为复制)。

但后来我添加了一个消费者线程:

现在,theNewArray 的声明可能会被破坏,并会导致某种读取溢出。但是,这段代码永远不会走得那么远,因为它总是总是在尝试打开新的 FileStream 时中断,并出现 System.IO.IOException 异常,表明另一个进程已打开该文件。

我正在按照 MSDN 上的 FileStream 文档中所述设置 FileAccess 和 FileShare 枚举,但似乎我无法做我想做的事情(即,在一个线程中写入,在另一个线程中读取)。我意识到这个应用程序有点不正统,但是当我涉及到实际设备时,我将不得不做同样的事情,但使用 MFC。

无论如何,我忘记了什么?我想要做的是否可能,因为它在文档中已尽可能指定?

谢谢!毫米波

0 投票
10 回答
35082 浏览

c - 如何检查我的字节标志,验证特定位是 1 还是 0?

我使用一个字节来存储一些标志,例如10101010,我想知道如何验证特定位是否位于1or 0

0 投票
7 回答
1086 浏览

c++ - 如何为我的开源应用程序打包 Linux 二进制文件?

我有一个开源应用程序,我目前只发布 Windows 构建的二进制文件。此时 Linux 用户必须获取源代码并进行编译。是否有发布 Linux 二进制文件的标准方法?

我的应用程序是 c / c++ 并使用 gcc 编译的,我使用的唯一外部 Linux 代码是 X Windows 和 CUPS。

0 投票
2 回答
641 浏览

encoding - ELF 中的 NEEDED 条目是否有标准编码?

我正在尝试使我的一些代码对非纯 ascii 系统更加友好,并且想知道是否有特定的字符编码用于 ELF 二进制文件中的 NEEDED 条目,或者它是否相当不标准并且基于创建系统的文件系统编码(甚至直接传递给创建二进制文件的字节)(如果是这样,二进制文件中是否有任何地方指定编码?假设我认为当前的系统编码对我的使用效果不佳) ,非ascii名称几乎被禁止还是其他什么?

0 投票
3 回答
5003 浏览

c++ - 如何从 wfstream 读取二进制数据?

我从文件中读取数据时遇到了小问题。我希望能够读取 wstring 以及任意大小的原始数据块(大小以字节为单位)。

也许我使用了错误的流,或者类似的东西。基本上,我想读取一个 wstring,数据的大小(可以是任意数量的字节),然后是那么多字节的组件数据。显然,我无法读取 char,因为模板假定为 wchar_t。

我可以读取 wchar_t,但必须确保数据按 sizeof(wchar_t) 对齐存储。否则,我最终可能会破坏流。一种情况是数据为 15 个字节。我必须读取 16 个字节,然后屏蔽不需要的字节,将流寻找到 15 个字节的偏移量(如果可能的话,使用 wchar_t 模板化?)以便能够读取下一个数据块。

显然,应该有更好的方法来实现我想要做的事情。

0 投票
3 回答
5697 浏览

vbscript - 如何在 VBScript 中附加二进制值

如果我有两个包含二进制值的变量,如何将它们作为一个二进制值附加在一起?例如,如果我使用 WMI 读取两个 REG_BINARY 值的注册表,那么我希望能够连接这些值。

当您尝试使用“&”运算符加入时,VBScript 会抱怨类型不匹配。