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

scala - 就地改组 ArrayBuffer 的一部分

我需要对 ArrayBuffer 的一部分进行洗牌,最好是就地洗牌,因此不需要副本。例如,如果一个 ArrayBuffer 有 10 个元素,并且我想打乱第 3-7 个元素:

我已经编写了如下所示的内容,但它需要复制并迭代循环几次。似乎应该有一种更有效的方法来做到这一点。

我找不到关于使用 Google 部分改组 ArrayBuffer 的信息。我假设我必须编写自己的方法,但这样做我想防止复制。

0 投票
1 回答
1939 浏览

javascript - NodeJS 流暂停/恢复不适用于 XMLHttpRequest,但适用于 curl?

这是一个非常深奥的问题,我无法制作一个小的测试用例,所以提前抱歉。但也许有人以前遇到过类似的事情。

我有这样的代码(使用restify):

当我使用 CURL 访问此服务器时,效果很好。但是当我使用 XMLHttpRequest 访问它时,我得到的"from inside"日志行比我得到的日志行少"from outside"。尽管我尽最大努力尽快暂停,但似乎其中一个数据事件正在丢失。


这是我正在使用的 CURL 命令:

这是XMLHttpRequest代码(适用于最新版本的 Chrome):

一个显着的区别是 CURL 似乎Expect: 100-continue在上传之前发送,而XMLHttpRequest没有。我尝试手动添加该标头,但当然它实际上并没有做太多(即 Chrome 没有等待响应,它只是将所有 PDF 数据连同原始请求一起发送)。即便如此,我不知道为什么这会影响事情。

0 投票
1 回答
816 浏览

javascript - ArrayBufferView 未捕获错误:INDEX_SIZE_ERR:DOM 异常 1

我从 python 服务器通过 websocket 发送二进制数据:

数据发送工作正常。在客户端javascript得到它是这样的:

这怎么可能发生?字节长度减去字节偏移量是 4,BYTY_ELEMENT_SIZE 也是 4。第一个值被读取没有问题,但接下来总是引发错误,无论它是什么类型。即使我只像这样设置字节偏移

有错误。

0 投票
4 回答
30600 浏览

javascript - 附加 ArrayBuffers

附加/组合 ArrayBuffers 的最佳方式是什么?

我正在接收和解析具有各种数据结构的网络数据包。传入的消息被读入 ArrayBuffers。如果部分数据包到达,我需要存储它并等待下一条消息,然后再重新尝试解析它。

目前我正在做这样的事情:

显然,由于 ArrayBuffers 的长度是固定的,因此您无法避免必须创建一个新缓冲区,但是是否有必要初始化类型化数组?到达后,我只想能够将缓冲区视为缓冲区;类型和结构无关紧要。

0 投票
1 回答
16721 浏览

javascript - Javascript - 从 ArrayBuffer 中获取数据?

我有一个拖放脚本,它使用readAsArrayBuffer(). 缓冲区的长度是完美的,但我似乎无法弄清楚如何将数据拉出缓冲区。

显然我必须制作一个DataView或一个Uint8Array或其他东西,然后遍历它的byteLength...帮助!

编辑 相关代码(不多):

0 投票
0 回答
721 浏览

javascript - 在使用 ArrayBuffer 的 Javascript 中搜索 Inflate 实现

我正在拼命寻找充分利用 ArrayBuffer 数据类型的 Inflate 算法的 Javascript 实现。这样的实现将 ArrayBuffer 作为输入并给出 ArrayBuffer 作为输出,而在处理数据时不使用那些讨厌的二进制字符串。

你知道这样的实现是否已经存在?现在 IE10 支持 ArrayBuffer 以及其他当前浏览器将非常有用。

0 投票
1 回答
3474 浏览

php - 在 xmlHTTPrequest send() 之后从 PHP $_POST 访问 ArrayBuffer

我正在关注 XMLHttpRequest 2 的教程:

https://developer.mozilla.org/en/DOM/XMLHttpRequest/Sending_and_Receiving_Binary_Datahttp://www.html5rocks.com/en/tutorials/file/xhr2/#toc-send-arraybuffer

它们是客户端的绝佳教程,这是我脚本的工作摘录:

// 用 imagedata 做一些很酷的事情

到目前为止一切顺利,我可以从客户端和服务器控制面板看到大量数据正在传输。

这是我的问题:如何在服务器上使用 PHP 访问 ArrayBuffer?我习惯了 $_POST 超全局需要从 HTML 表单传递的参数,因此它可以作为数组访问,但我找不到任何关于如何访问这个二进制数组并将其粘贴到我的 MySQL 数据库中的参考。

0 投票
1 回答
266 浏览

javascript - 在 Web 浏览器中将文件选择器文件提取到数组缓冲区中

我正在尝试使用filepicker.io来获取二进制数据并将其传递给这样的函数:

我不知道如何将二进制文件转换为这样的数组缓冲区:

我尝试按照XMLHttpRequest 上的本教程进行操作,但不起作用。

0 投票
1 回答
983 浏览

javascript - 从 Web SQL 数据库中检索音频并使用 Web Audio API 播放

我有将 ArrayBuffer(从 XMLHttpRequest 调用以获取 mp3 作为数组缓冲区)保存到 web sql 数据库的代码,从返回对象 ArrayBuffer 的 sql 查询中检索它。但是,当我尝试 decodeAudioData 或 createBuffer 时,我得到一个类型错误。

var buffer = audioContext.createBuffer(result.xtalk,false);

给出 Uncaught TypeError: 类型错误

如果我在 result.xtalk 中放置警报是对象 ArrayBuffer

这是在 Mac 上的 Chrome 21.0.1180.75 中

我尝试创建一个 ArrayBuffer 并逐字节填充它,然后传递它——但这也不起作用。

0 投票
1 回答
1145 浏览

webgl - WebGL:读取缓冲区对象的内容?

在其他平台上,我通过将很少访问的每个顶点几何和颜色数据仅存储在 GPU 内存中的 VBO 中并使用 glMap 每隔一段时间分段读取和/或修改它来降低内存使用率。

在阅读 OpenGL ES 2 书时,我注意到它在第 118 页上说:

OpenGL 允许应用程序读取顶点缓冲区存储的内容,但 OpenGL ES 中缺少这些 API 调用。由于 OpenGL ES 中没有读取缓冲区数据的机制,因此这些枚举不再有效,因此不受支持。

我用谷歌搜索了一段时间,看到了 glMapBufferOES 的存在(这似乎记录得很差)。这仍然有效吗?它是一个普遍支持的扩展吗?有什么办法可以在 WebGL 中使用它吗?如果没有,是否有其他方法可以读取 VBO 的内容,或者我唯一的选择是保留对我自己的 ArrayBuffer 对象(或其他一些非 GPU 存储)的 JavaScript 引用?