问题标签 [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 投票
1 回答
3096 浏览

javascript - 将 Javascript 二维数组转换为 ArrayBuffer

我正在尝试使用 Web Workers 处理大量数据,并且在将数据传回主线程进行显示时,我想使用可传输的对象来减少对 UI 线程的影响。

该过程当前会生成一个也可以包含对象的多维数组。例如:

我已经看过这个字符串转换帖子,但同样,我看不到如何将它直接应用于我的数组结构: Converting between strings and ArrayBuffers

感谢帮助!

0 投票
1 回答
1209 浏览

javascript - 将具有 8 位值的数组转换为具有 char 的字符串(无 charcode)

我找到了一个优雅的代码来将 ArrayBuffer 转换为 charCode。

但我需要char,而不是charCode。

我试过了

但这是废话。

感谢您的回答。

0 投票
1 回答
261 浏览

sockets - 无法解析 ArrayBuffer

镀铬插座阅读对我来说真的很痛苦。

和我之前的许多人一样,我使用以下代码在 ArrayBuffer 和字符串之间来回转换:

不幸的是,我从套接字收到的内容似乎无法解析。

假设数据报是:

以下代码失败得很糟糕:

控制台输出:

0 投票
1 回答
1150 浏览

javascript - Nodejs Javascript TypedArray 缓冲到字符串并再次返回

我正在尝试实现一组重复的浮点数的序列化和反序列化,使用 TypedArray 到字符串(用于跨线/磁盘保存),但它不是往返

0 投票
1 回答
592 浏览

javascript - 如果二进制数据是“4 字节单一格式”是什么意思,我如何在 JavaScript 中读取它?

我必须读取一个二进制文件,据说该文件是经过编码的4 byte single format,并且永远不必使用二进制数据,我不知道这意味着什么。

我可以在 JavaScript 中读取包含二进制数据的文件:

它运行从 0 到 1023 的循环,我在控制台上获取数字,但我不知道这是否是我的解码数据:-)

问题
什么是 4 字节单格式以及如何正确访问数据?“人类可以理解的语言”中说getUint8()getint8()或有什么区别?getInt32()

谢谢!

0 投票
2 回答
1201 浏览

javascript - 如何在“4 字节单”/浮点/IEEE 754 编码数据中读取二进制数据的 ArrayBuffer?

我需要通过一个二进制文件循环arrayBuffer并检索1024个浮点集。我正在这样做:

我的问题是,如果我在缓冲区结束时第一次运行时调用它:

同样的语句在我调用的下一次运行中失败:

虽然我可以在这里阅读,但我可以这样做:

问题:为什么在我的ArrayBuffer上
声明第一个Float32Array视图后我的循环失败了?response_offer

0 投票
2 回答
266 浏览

javascript - 是否可以通过基于偏移量和长度的 Javascripts xhr 检索大型二进制文件的一部分?

我正在编写一个用于访问二进制数据的处理程序。目前我正在这样做:

哪个工作正常并将我获取的数据(文件/http)“预处理”到我的tmp_data数组中。

但是我还需要能够处理大文件(比如 1GB+)。我的想法是尝试只获取文件的一部分,因为从二进制结构中我可以确切地知道我必须获取哪些偏移量。

问题
如果我知道偏移量和长度而不是必须获取整个文件,是否可以对大文件中的“范围”字节进行 XHR?

谢谢!

0 投票
1 回答
2225 浏览

javascript - Stream ArrayBuffer websocket binary.js

我想要流很多 ArrayBuffers。

  • 将字符串从客户端发送到服务器并返回没有问题!

  • 向服务器发送 ArrayBuffer 是没有问题的

从服务器向客户端发送 ArrayBuffer 不起作用。我在客户端得到一个空的 ArrayBuffer => ArrayBuffer{}

服务器:

console.log(data) 向我显示了填充的数组,所以这是可行的。

客户:

此日志:ArrayBuffer {}

所以没有数据:(

我发送数据: wsStream.write(arrayBuffer);

如果我发送一些数组 wsStream.write([0,2]); 或一些字符串 wsStream.write("Hello"); 我没有问题,可以取回所有数据。

为什么会这样?谢谢 :)

0 投票
0 回答
235 浏览

javascript - 从 Chrome 中的大 Blob 创建数组缓冲区

我有一个从 blob 创建 arrayBuffer 的简单方法:

一切正常,当我在 IE11 中运行它时,阅读器总是触发它的 onload 事件,

在 chrome 中,如果 blob 的大小很小(我测试它最大为 4MB),一切都是正常的,但是当我使用 90MB 测试它时,它总是触发 NOT_FOUND_ERR,

这是正常的吗?还是有一些解决方法?或者它只是 Chrome 中的一个错误?

0 投票
0 回答
192 浏览

javascript - 使用 arraybuffers 存储画布渲染数据

帆布性能

最近我在画布中创建了很多动画,并且由于画布没有事件,您需要根据坐标创建自己的事件系统,简而言之,您需要一个碰撞检测功能。由于大多数代码都很长,我重写了自己的这样做我理解它是多么简单。所以我写了一些游戏代码。

基本上,画布游戏有很多临时数字数组,在大多数情况下,0 到 64,128 或 256 之间的数字就足够了。也许减少并用作倍增器

所以我在想如果我将这些值存储到一个arraybuffer

示例:(我就是这样做的......如果你知道更好的东西,请随时告诉我)

将所有内容存储在 arrabuffers 中不是更好吗?

我的想法(如果我错了,请纠正我):

arraybuffers是二进制数据,

它们的渲染速度应该更快,内存应该更小

现在,如果这两种观点是正确的,我该如何正确地创建一个像所描述的那样的数组结构,也许选择正确的数组类型?

注意:在我的情况下,我使用的是二维数组。而且我不想使用对象。