我有一个二进制字符串,我需要能够将其转换为包含每个字节的 0-255 值的 ArrayBuffer/TypedArray。例如:
const string = "01110100011001010111100001110100";
// should log an ArrayBuffer containing 116, 101, 120, and 116
console.log(stringToArrayBuffer(string));
我的问题基本上与这个问题相反。
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));