【发布时间】:2020-05-10 08:41:58
【问题描述】:
我正在尝试通过将字符流解析为 UTF-16 编码,将 0 和 1 的字符串转换为等效的 Buffer。
例如:
var binary = "01010101010101000100010"
结果将是以下缓冲区
<Buffer 55 54>
请注意Buffer.from(string, "binary") 无效,因为它创建了一个缓冲区,其中每个0 或1 都被解析为自己的拉丁单字节编码字符串。来自 Node.js 文档:
'latin1':将 Buffer 编码为单字节编码字符串的一种方式(由 IANA 在 RFC 1345 第 63 页中定义,作为 Latin-1 补充块和 C0/C1 控制代码)。
'binary':'latin1' 的别名。
【问题讨论】:
-
您可以从中生成一个十六进制字符串 (here is an example) 并使用
Buffer.from(hexStr, "hex")。顺便说一句,你的例子是错误的,0101010101010100是5554,你有 7 个额外的位。
标签: javascript node.js binary buffer