簡體   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