JavaScript 中的 ArrayBuffer/TypedArray 的二进制字符串

问题描述 投票:0回答:1

我有一个二进制字符串,我需要能够将其转换为包含每个字节的 0-255 值的 ArrayBuffer/TypedArray。例如:

const string = "01110100011001010111100001110100";

// should log an ArrayBuffer containing 116, 101, 120, and 116
console.log(stringToArrayBuffer(string));

我的问题基本上与这个问题相反。

javascript
1个回答
0
投票

一个带有

parseInt(val, 2)
的简单循环应该可以做到:

function stringToArrayBuffer(str) {
  const arr = new Uint8Array(str.length / 8);
  for(let i = 0; i<str.length; i+=8) {
    arr[i/8] = parseInt(str.slice(i, i+8), 2);
  }
  return arr;
}
const string = "01110100011001010111100001110100";

// should log an ArrayBuffer containing 16, 101, 120, and 116
console.log(stringToArrayBuffer(string));

© www.soinside.com 2019 - 2024. All rights reserved.