Javascript 将ASCII中包含二进制十六进制的字符串转换为缓冲区

Javascript 将ASCII中包含二进制十六进制的字符串转换为缓冲区,javascript,node.js,string,Javascript,Node.js,String,我正在使用node.js 我有一个字符串msg_str,内容如下“0102ab00aabb00”。我想转换这个字符串内容(ASCII表示二进制十六进制)并将其存储到一个缓冲区中,使缓冲区的内容看起来像 我写的一些初步代码并没有达到预期的效果 msg_str = "0102ab00aabb00"; buffer_binary = new Buffer(msg_str); console.log(msg_str); console.log(buffer_binary); buffer_bi

我正在使用node.js

我有一个字符串
msg_str
,内容如下
“0102ab00aabb00”
。我想转换这个字符串内容(ASCII表示二进制十六进制)并将其存储到一个缓冲区中,使缓冲区的内容看起来像

我写的一些初步代码并没有达到预期的效果

msg_str = "0102ab00aabb00";
buffer_binary = new Buffer(msg_str);
console.log(msg_str);   
console.log(buffer_binary); 

buffer_binary
的控制台输出为
30 31 30 32 62 30 61 62 30
。正确的输出应该是
01 02 ab 00 aa bb 00

您需要告诉
缓冲区
构造函数您的字符串是十六进制的。幸运的是,这很容易:)

msg_str=“0102ab00aabb00”;
buffer_binary=新缓冲区(msg_str,“hex”);//指定十六进制
console.log(msg_str);//日志0102ab00aabb00
console.log(缓冲区_二进制);//日志

可能重复的有没有办法在浏览器中执行此操作?
msg_str = "0102ab00aabb00";
buffer_binary = new Buffer(msg_str, "hex"); // specify hex
console.log(msg_str); // logs 0102ab00aabb00
console.log(buffer_binary); // logs <Buffer 01 02 ab 00 aa bb 00>