gpt4 book ai didi

javascript - 在 NodeJs 中将 Uint8Array 转换为 Uint16Array

转载 作者:行者123 更新时间:2023-12-05 00:32:10 32 4
gpt4 key购买 nike

我有一个 Uint8Array,我想将其转换为 Uint16Array,以便 Uint8Array 中的每对连续元素都转换为 Uint16 值。最后,uint16Array 是 Uint8Array 大小的一半。因此,我想转换整个数组,而不是每个值。

我发现的唯一解决方案保持相同的长度并更改数组每个元素的基础类型。所以它不会“转换”数组而是数组的每个元素,这不是我想要的。

最佳答案

如果我正确理解了这个问题,我想到的最原生的方式(仍然不是强制转换但需要几行)是转换为 Buffer ,而不是将其转换为 Uint16Array .

以下片段似乎达到了预期的结果。

const ar8 = new Uint8Array([0, 1, 1, 0, 0, 2, 2, 0]);
const buf = new Buffer(ar8);
const ar16 = new Uint16Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint16Array.BYTES_PER_ELEMENT);

console.log(ar8, buf, ar16);

在我的平台转换是小端;抱歉,但我不知道所有平台上的转换是小端还是小/大端转换取决于平台。

关于javascript - 在 NodeJs 中将 Uint8Array 转换为 Uint16Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62160570/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com