问题标签 [binary-data]
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.
parsing - 高效灵活的二进制数据解析
我有一个外部设备,它吐出二进制数据的 UDP 数据包和在嵌入式系统上运行的软件,需要读取这个数据流,解析它并做一些有用的事情。二进制数据也被记录到文件中。我想编写一个解析器,它可以轻松地直接从 UDP 流或文件中获取输入,将数据解析为特定格式,然后将输出定向到文件(例如 matlab dat 文件)或另一个进程这将进行一些实时处理。是否有任何资源可以帮助我解决这个问题,最好的方法是什么?我认为使用 C++ 流可能有意义,但我不熟悉创建自定义输出流。这似乎是一种很好的方法,还是有更好的方法?
谢谢。
c++ - 自定义数据 iostream
我有一个定义为的数据结构
我想获取一个字符流并将其转换为 myData 流。我应该扩展什么流类?我想创建一个自定义流类,以便我可以做类似的事情
java - Reading/writing binary structures: how to simplify this code?
I'm writing a network app, which sends and receives a lot of different kinds of binary packets, and I'm trying to make adding new kinds of packets to my app as easy as possible.
For now, I created a Packet
class, and I create subclasses of it for each different kind of packet. However, it isn't as clean as it seems; I've ended up with code like this:
What bothers me about this approach is the code repetition - I'm repeating the packet structure four times. I'd be glad to avoid this, but I can't see a reasonable way to simplify it.
If I was writing in Python I would create a dictionary of all possible field types, and then define new packet types like this:
I suppose that I could do something similar in any functional language. However, I can't see a way to take this approach to Java.
(Maybe I'm just too pedantic, or I got used to functional programming and writing code that writes code, so I could avoid any repetition :))
Thank you in advance for any suggestions.
xml - 以预解析的二进制格式存储 XML 文档
我的应用程序需要存储大量类似 XML 的分层信息,并满足以下要求:
- 快速阅读
- 最小的内存消耗
- 键入的数据,而不仅仅是文本
对于实现这些目标的二进制格式有什么建议吗?
svn - 在 Subversion Checkout 中同步大型无版本文件
一段时间以来,我们一直在为研究实验室使用 Subversion 存储库,并且反复遇到一个常见问题:
我们希望对所有代码和少量永久数据进行版本控制,但我们也有大型二进制 blob,它们位于用户结帐时被忽略的目录中,我们希望用户能够轻松备份这些文件和同步它们,以便多个用户可以使用更大的 blob,而无需在机器之间手动复制它们或将它们签入存储库(它已经拥有比理想更多的此类东西)。
我曾考虑过使用 JungleDisk 等各种备份服务,至少可以让用户轻松备份这些数据,但它们并不是真正为同步而设计的。此外,仅使用 JungleDisk 也不太理想,因为有时数据文件非常大,等待它们被缓存可能会显着降低性能。
其他替代方案可能是提供 rsync 的副本,并且只使用存储库中的一些 shell 脚本,用户可以运行这些脚本来手动同步文件(与 svn checkouts/commits 分开),但如果能真正使用它会很好对于可能不是最精通技术的用户,在 Mac、Windows 和 Linux 上的工作量最小。因此,最好让它易于配置(对于新的未版本控制的文件)、易于安装(步骤越少越好)并且不需要太多的用户干预来使系统工作(自动或只是双单击脚本会很好)。
有什么想法或建议吗?
php - Lamp / Cakephp:流式传输图像:二进制 0x00 替换为 0x20
我正在尝试创建一个脚本,该脚本从数据库中提取图像并将其显示给用户,由<img src="viewImage/someImageName">
但是我遇到的问题是当显示图像时,所有的 Nulls (0x00) 都被 0x20 替换,我不知道为什么。数据库中的数据显示它是空值,但在某个地方它被更改为 0x20s。
有人有什么主意吗?有什么我想念的吗?
这是我正在使用的代码:
我认为这与代码没有任何关系,因为如您所见,没有错误的地方。我可以转储二进制内容,它还没有被篡改。
堆栈或 cakephp 有什么想法吗?
更新:我注意到流的开头有一个空格,我正在尝试追踪它,这可能是问题吗?
blob - 将 mysqlpp::sql_blob 转换为 std::string 是否安全?
我正在从我的 MySQL 数据库中获取一些二进制数据。它以 mysqlpp::sql_blob 类型出现。
恰好这个 BLOB 是一个序列化的 Google Protobuf。我需要对其进行反序列化,以便我可以正常访问它。
这会产生编译错误,因为 ParseFromString() 不适用于 mysqlpp:sql_blob 类型:
但是,如果我强制转换,它可以编译:
这安全吗?由于 mysqlpp 文档中的这个片段,我特别担心:
感谢你的协助!
c++ - 向量vs 二进制数据的字符串
哪个是用于保存和访问二进制数据的更好的 C++ 容器?
或者
一个比另一个更有效吗?
一种更“正确”的用法吗?
python - 使用 Python 的人类可读二进制数据
我的工作要求我执行数学模拟,其参数来自二进制文件。模拟器可以毫无问题地读取这样的二进制文件。
但是,我需要查看二进制文件以确保参数是我需要的参数,而我似乎无法做到这一点。
我想用 Python 编写一个脚本,它可以让我读取二进制文件,搜索我关心的参数,并显示它们的值。
我对二进制文件的了解:
它代表简单的文本(与图像或声音文件相反)。有一段代码可以将文件“转储”为可读格式:如果我在 Emacs 中打开该转储,我会发现如下内容:
所有的文件只是一系列类似的指令。我可以使用该转储代码,但我更愿意让 Python 这样做。
这似乎是一个非常微不足道的问题,我很抱歉没有更好地了解。我以为我是一个熟练的程序员!
非常感谢。
python - Python二进制数据读取
一个 urllib2 请求收到如下二进制响应:
它的结构是:
如何读取这样的二进制数据?
提前致谢。
更新:
我使用以下代码在前 6 个字节上尝试了 struct module:
(16777216, 1024)
但它应该输出 (1, 4)。我看了一下手册,但不知道出了什么问题。