繁体   English   中英

如何将位数组作为字符串转换为 ArrayBuffer

[英]How do I turn an Array of Bits as Strings into an ArrayBuffer

假设我有一个包含“1”或“0”的 256 个字符/字符串的数组

所以像

["1","1","0","0","1","0", ...]

我需要在 ArrayBuffer 中转换它(个人位是 SHA-256 哈希)

用数组中的每个填充 32 字节 ArrayBuffer 的最简单方法是什么。

可以使用join,将8位连接在一起,然后使用parseInt以2为基数转换二进制数,然后放入arrayBuffer。

下面是一个例子。

 //lets make some demo data. const data = new Array(256).fill().map(m => Math.random() < 0.5 ? '1' : '0'); //convert data of '0', '1' into ArrayBuffer const buffer = new Uint8Array(32); let bpos = 0; for (let l = 0; l < data.length; l += 8) { const b = data.slice(l, l + 8).join(''); buffer[bpos] = parseInt(b, 2); bpos += 1; } console.log(buffer);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM