【发布时间】:2021-07-26 15:29:53
【问题描述】:
我通过这种格式的函数传递数据
Int16Array > Uint8Array > Int16Array
如何让z和原来的x一样
var x = new Int16Array([17, -45]);
var y = new Uint8Array(x);
var z = new Int16Array(y);
想把z设为[ 17, -45 ]
编辑: 完整示例
const Readable = require('stream').Readable;
const rs = new Readable({
objectMode: false,
read(){}
});
var data = new Int16Array([17, -45]);
rs.push(data);
rs.on('data', function(chunk) {
var result = new Int16Array(chunk);
});
我希望“结果”具有价值[17, -45]
【问题讨论】:
-
目前还不清楚您要在这里实现什么。如果最终结果再次出现
Int16Array,为什么还要进行转换?显然,转换为Uint8Array是行不通的,因为它会丢失一半的信息。 -
只转换,因为回调抱怨。 “chunk”参数必须是字符串类型或 Buffer 或 Uint8Array 的实例。收到一个 Int16Array 的实例
-
@moimoi 你在说什么回调?请edit您的问题包括您遇到问题的实际代码。
-
@moimoi 我不适合回答,但你应该不费吹灰之力就问(像往常一样)。
标签: javascript node.js node-streams typed-arrays