问题标签 [arraybuffer]

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 投票
0 回答
2715 浏览

javascript - 如何将 ArrayBuffer 序列化为 BSON 对象以在 javascript 中进行 websocket 传输

我想将带有ArrayBuffer 元素的javascript 对象编码到. 然而,序列化的 BSON 对象比它应该的大 10 倍。BSONwebsocket

代码是这样的:

我对 BSON 序列化器的理解一定是错误的。有谁知道如何使用二进制缓冲区字段创建一个紧凑的 BSON 对象?

0 投票
4 回答
36694 浏览

javascript - 如何从 ArrayBuffer 中获取二进制字符串?

在 JavaScript 中从 ArrayBuffer 获取二进制字符串的方法是什么?

我不想对字节进行编码,只需将二进制表示形式作为字符串。

提前致谢!

0 投票
1 回答
695 浏览

javascript - JSON increases Float32Array buffer size many folds when sending through websocket

I got a strange experience. When I send data of this arraybuffer setting:

The buffer size I got at the other end is 8192 bytes. But when I send chunck of buffer in JSON format like bellow:

The buffer size I got at the other end bloat to 55,xxx bytes with data filled in and 17,xxx bytes with no data filled.

Why this happen and how do I keep the buffer size low? I want to do this because the stream is choppy when I render it at the other end.

Thank you.

0 投票
2 回答
291 浏览

scala - Scala用整数构建一个相同长度的arraybuffer

我有一个ArrayBuffer我想将所有对象转换为它们各自大小的现有缓冲区:

有没有更好的惯用方式来描述 scala 中的 copySizes ?我在考虑这样的语法:

0 投票
1 回答
1985 浏览

javascript - 从 FileReader 的 ArrayBuffer 中提取部分数据

我正在使用HTML5 FileReader readAsArrayBuffer()方法将文件读入内存。根据规范(上面链接):

在处理读取时,随着来自 blob 的数据变得可用, 用户代理应该将任务排队以使用部分 Blob 数据作为 ArrayBuffer [TypedArrays] 对象更新结果,该对象包含读取完成之前读取的字节,以伴随进度事件的触发. 获取时,结果属性返回部分 Blob 数据,表示当前加载的字节数(作为总数的一部分)[ProgressEvents],作为 ArrayBuffer [TypedArrays] 对象;用户代理在处理这个读取方法时必须至少返回一个这样的 ArrayBuffer [TypedArrays]。最后一个返回值是在读取完成时。

但是,在我测试过的浏览器(Firefox、Chrome 和 Opera)中,该reader.result属性似乎并没有持续更新。例如:

其中有一个 IDfileInput和 type的 HTMLInputElement file。When a sufficiently large file is chosen and the callback runs, here is what happens on the console (this example is from Chrome):

我相信出现 TypeError 是因为数组视图 Uint8Array 无法从 ArrayBuffer 读取块,因为 ArrayBuffer 为空。

奇怪的是,如果文件很大但不是太大,一些进度事件实际上会成功运行。

您如何可靠地实现 FileReader 的 ArrayBuffer 以在“进度”事件时为您提供所需的数据?

0 投票
1 回答
1073 浏览

javascript - 如何将 JSON 数据与从 websocket 接收的 ArrayBuffer 分离

我尝试将 JSON 数据与从 websocket 接收的缓冲区数组中分离出来,如下所示。

目的是用适当的功能分别阅读它们。我的旧方法是先解析 JSON。如果失败,则通过另一个函数。

我以两种格式发送它们的原因是,将 JSON 数据转换为数组或将数组转换为 JSON 会使文件大小增加大约三倍。最佳做法是分开发送。但是,在终端我读取 JSON 数据

并使用DataView方法读取 ArrayBuffer 。

该应用程序在表面上可以正常运行,但是如果您在 console.log 中检查,则会发现 Uncaugth Error太多。

它还会在某一点阻塞数据流,导致流溢出不太顺畅。

感谢您提前提出任何建议。

0 投票
1 回答
240 浏览

javascript - Javascript ArrayBuffer 中 Node.js 的 Buffer.writeFloatBE

我在 Node.js 中有以下代码:

如何在普通 javascript 中使用 ArrayBuffer 完成相同的操作?

0 投票
1 回答
500 浏览

javascript - WebWorker - 传输包含对象的数组

我有一个数组,我需要将它从 WebWorker 传输回主线程。据我所知,只有 ArrayBuffers 和 TypedArrays 是可转移的,其他任何东西都是复制而不是转移。

我遇到的问题是数组包含对象,所以我不确定如何传输它们(由于巨大的尺寸而需要)。

例如假设我有:

有没有办法可以将数组转换为 ArrayBuffer,将其传输然后再转换回来?

谢谢您的帮助!

0 投票
8 回答
132419 浏览

javascript - UTF-8 ArrayBuffer 和 String 之间的转换

我有一个ArrayBuffer包含使用 UTF-8 编码的字符串,但我找不到将其转换ArrayBuffer为 JS的标准方法String(我理解它是使用 UTF-16 编码的)。

我在很多地方都看到过这段代码,但我看不到它如何与任何长度超过 1 个字节的 UTF-8 代码点一起工作。

同样,我找不到从 a 转换String为 UTF-8 编码的标准方法ArrayBuffer

0 投票
1 回答
140 浏览

javascript - 通过窗口消息传递文件系统 url 共享的 DOM 异常?

我必须将动态生成的内容文件 URL 共享到 iframe。将 URL 传递给 iframe 时出现 DOM 异常 12。

我需要指定 bufferType 还是可以发送 url?