问题标签 [bytestream]

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 投票
1 回答
105 浏览

python - 如何从类似字节的对象中了解文件格式?

我使用的 ORACLE 数据库以 BLOB 类型存储 PDF 或 ZIP 格式的文件。我想保存这些文件。但是,我不知道如何识别它什么时候是 PDF 什么时候是 ZIP?是否可以检查 BLOB 内部存储的文件格式?

下面是一个用于保存文件的简单 write_file 方法:

在这里,我使用光标获取适当的 BLOB,并使用以下write_file方法保存文件:

如何识别什么时候是 zip 什么时候是 pdf?

0 投票
0 回答
60 浏览

java - 如何处理 TCP 消息绞盘是分段的

语境

我正在尝试实现一个使用 SoulSeek 协议的 Android 应用程序。该协议的文档记录很差,因此我必须尝试分析流。

如果你很好奇,文档协议的链接:https ://www.museek-plus.org/wiki/SoulseekProtocol


问题

当 TCP 段完成时,没有问题导致消息的长度被发送。但是当消息被分段时,我必须等待下一条消息连接字节并读取消息。有一种正确的方法来处理分段消息吗?

我试图实现一个函数,该函数在读取套接字时使用休息并与该休息的下一条消息连接。但问题是当读取套接字时,返回的 int 通常是我的字节数组的长度。


片段

日志

我希望 read 方法返回的 int 是 0 以读取其余的消息,但是当没有消息到达时,返回的是我的数据数组长度绞盘......


编辑

当我处于调试模式时,我看到了一件小事。事实是当套接字我为空并且我处于调试模式时,计数值是数据长度数组,但它没有打印在日志中。我在问自己,我能做些什么来清空这个在所有循环步骤中都在成长的休息问题。


PS:这是我关于SO的第一个问题,我知道它不干净,但我会尽力改进,谢谢!

0 投票
1 回答
315 浏览

java - 读取文件并在nodejs中转换为字节

我在 Java 中有以下代码块,我试图在 nodejs 中复制它

该文件作为 blob 存储在数据库中。此 Java 代码有效。我现在正试图在 nodejs 中复制它。所以首先我做了

所以在这里,不是文件是 blob,而是文件位于 FTP 文件夹中。我可以使用上面的行读取文件的内容,但是如何像在 Java 中那样将它们转换为字节?我希望获得与在 Java 中获得的完全相同的输出,因为这些东西可以工作,但节点的东西不能。

0 投票
1 回答
65 浏览

java - 如何在 Java/Scala 中正确地将字节流保存到文件中?如何修复错误保存的流?

故事

在进行实验时,我正在保存由硬件 RNG 设备生成的随机字节流。实验完成后,我意识到保存方法不正确。我希望我能找到修复损坏文件的方法,以便获得正确的随机数流。

例子

这个问题的故事可以用下面的简单例子来解释。

假设我在输入文件中有一个随机数流randomInput.bin。我将通过将输入文件发送到标准输出来模拟来自硬件 RNG 设备的随机数流cat。我找到了两种方法如何将此流保存到文件中:

A) 无害保存方法

这个方法给了我原始的随机字节流。

B)导致腐败的保存方法

不幸的是,这是我选择的原始保存方法。

使用方法B)保存的文件仍然是二进制文件,但是大约是方法A)保存的文件的 2 倍。进一步分析表明,随机位流的随机性明显降低。

概括

我怀疑保存方法B)几乎为每个字节添加了一些内容,但是,对此的理解是我在 Java/Scala I/O 方面的专业知识的背后。

如果有人向我解释方法A)B)之间的低级差异,我将不胜感激。目标是还原通过保存方法B)创建的更改并获得原始随机字节流。

非常感谢您!

0 投票
2 回答
565 浏览

android - 来自 p2p wifi 间谍相机的 H264 数据包

我有 2 个 p2p wifi 间谍相机模块。他们在本地局域网内工作,但不在外面,因为他们使用的服务器存在问题。它们通过适用于 Android 的 BVCAM 或适用于 Windows 和 IOS 的类似设备工作,但不适用于 Linux。我试图了解它们的工作方式并将它们与 Linux 一起使用。我试图用葡萄酒工作 BVCAM 也没有成功,他们也没有网络界面。摄像头模组为FH-W1 V1.1,wifi芯片88W8801来自Fullhan,DSP BL-R8801来自必联电子。他们没有数据表。我用wireshark捕获局域网内的UDP数据包,并尝试了解它们与APP通信的方式。据我了解,他们交换一些小数据包进行通信,并在相机发送更大的数据包之后。我认为它们是视频流。它不是 RTP,它是字节流,我想理解它并解码它。

c002bebf0078c8a40 03 006a010100000001000000d82000004a01000045010000010000004001f000705a0d0003000001a000000001419a0006000c233f0378aa3c658b4c96d4c46a3b5e8ae077097cc1de446be78425c892df1088882bf3fd2eb02b1446b5e61fc46df7f99566286cbdd572c0be7137ce6a377472e4a18be26feded27666fd40ddfe8568c3dcbe846d698843f1b74cfd6d716c6f52864c3ae66895e7d5d62ba7628e869f1cbdc185c97fc2c002a0ffe2fe546cd0a9f914a6fa8ff97d8ca0f313d0fa0d955c979be97aed6a7489e36ea8b99eb50cb1e67a4431bc1a4e0d1cbb91544297aafe69b64c5a4f6067bd4d55328ab638f110a0a4242153459d7f433ede364f62af0fcf78c62d5fc3e56742eb48320c7a542cfba9406c7ced098268c5c49364cb5b42c00aaceb8ccf837c41a2b88188691363917d6742e362cb4a9770bbefa8bb267bddc302e50fd344b147b879f98985aaf144099b04aa88ce474c3fe5c1075f3f2b06e7c9939ece598859ac0

在两个设备端口 10210 和 17900 交换的小数据包,来自相机的 49154 的流和来自手机的 49000 附近的随机端口。我认为相机和应用程序之间交换的小数据包是为了“相互见面”设备,并且在来自 APP 的一些 ACKS 之后,相机将继续传输,否则它会停止传输。我认为如果我们在之后解码流很容易复制消息并使用应用程序发送它们。我的问题是有人能帮我理解中国人使用的协议吗?NAL 从哪里开始等等

也有声音,所以我想到了mp4流。

请原谅我糟糕的英语。我也是计算机技术员,但不是程序员。

0 投票
1 回答
1080 浏览

generator - Python:AttributeError:“生成器”对象没有“读取”属性

我尝试使用此类存档。但是,我从“return Archive('r',strm.read())”中得到了“AttributeError: 'generator' object has no attribute 'read'”。

主要问题:

有人可以告诉我如何读取或将原始 tar 数据流的 strm 转换为适合归档类的字节类对象吗?或任何其他想法?

0 投票
1 回答
1585 浏览

python - Python 请求:将 iter_content 块流式传输到 pandas read_csv 函数

我正在尝试将一个巨大的 csv.gz 文件从 url 读取成块并将其即时写入数据库。我必须在内存中完成所有这些,磁盘上不能存在任何数据。

我有下面的生成器函数,它将响应块生成到 Dataframe 对象中。

它使用请求的 response.raw 作为 pd.read_csv 函数的输入来工作,但它看起来不可靠,有时会引发超时错误:urllib3.exceptions.ProtocolError: ('Connection broken: OSError("(10054, \'WSAECONNRESET\')",)', OSError("(10054, 'WSAECONNRESET')",))

我决定改用 iter_content,因为我读到它应该更可靠。我已经实现了以下功能,但我收到了这个错误:EOFError: Compressed file ended before the end-of-stream marker was reached

我认为这与我传入压缩的 Bytes 对象(?)的事实有关,但我不确定如何将 pandas.read_csv 传递给它将接受的对象。

任何想法都非常感谢!

谢谢

0 投票
2 回答
489 浏览

javascript - 使用 iframe Internet Explorer/Edge 中的 Javascript 将字节数组呈现为 pdf

我有一个从 http post 方法返回的字节数组(从原始 PDF 文件转换而来)。我的要求是在 iframe 中呈现原始 PDF,我在 IE/Edge 浏览器中使用 angular 1.x。

0 投票
1 回答
438 浏览

python - 从服务器读取文件并将其上传到 Anonfile

所以我试图从服务器读取视频,然后将其存储为字节,然后将该文件上传到 Anonfile。但我不想将该文件保存在本地存储中。我正在使用 BytesIO 将该文件作为二进制文件读取并且能够读取。但是当我尝试上传它失败了。

更新:现在它正在工作。

但是如何在上传时设置文件名

0 投票
1 回答
142 浏览

python - 重组从客户端发送到服务器的字节的最佳方法是什么?

以确定大小的块将字节从客户端流式传输到服务器的最佳方式是什么?

现在我正在用 base64 编码一个音频文件,然后用 zlib 压缩它并通过套接字连接发送。我的问题是尝试在服务器中重建原始文件。

我使用一个空字符串进行了思考和测试,该字符串与服务器正在接收的所有字节一起添加。看起来不错,但是开头的“b'”被保留了,导致它无法恢复原始音频文件。

我刚刚尝试解码字节并从服务器接收到的每组字符串的开头删除“b'”和从结尾(data[2:-1])删除“”,但这减少了一些原著中的人物。

客户端:

服务器端:

不知道如何进行,任何帮助表示赞赏。谢谢!