May*_*nty 3 javascript binary buffer node.js
我试图通过将字符流解析为 UTF-16 编码来将0and的字符串转换1为等效字符串。Buffer
例如:
var binary = "01010101010101000100010"
Run Code Online (Sandbox Code Playgroud)
结果将是以下缓冲区
<Buffer 55 54>
Run Code Online (Sandbox Code Playgroud)
请注意,Buffer.from(string, "binary")这是无效的,因为它创建一个缓冲区,其中每个单独的0或1被解析为它自己的拉丁一字节编码字符串。来自 Node.js 文档:
'latin1':一种将缓冲区编码为单字节编码字符串的方法(由 IANA 在 RFC 1345 第 63 页中定义,作为 Latin-1 补充块和 C0/C1 控制代码)。
'binary':'latin1' 的别名。
在节点 10.x 上测试
function binaryStringToBuffer(string) {
const groups = string.match(/[01]{16}/g);
const numbers = groups.map(binary => parseInt(binary, 2))
return Buffer.from(new Uint16Array(numbers).buffer);
}
console.log(binaryStringToBuffer("01010101010101000100010"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2878 次 |
| 最近记录: |