我正在使用node.js。
我的字符串msg_str
包含以下内容"0102ab00aabb00"
。我想转换此字符串内容(表示二进制十六进制的ASCII)并将其存储到缓冲区中,以使缓冲区的内容看起来像<01 02 ab 00 aa bb 00 >
。
我写的一些初步代码没有按预期工作;
msg_str = "0102ab00aabb00";
buffer_binary = new Buffer(msg_str);
console.log(msg_str);
console.log(buffer_binary);
buffer_binary
的控制台输出为30 31 30 32 61 62 30 30 61 61 62 62 30 30
。正确的输出应为01 02 ab 00 aa bb 00
。
答案 0 :(得分:7)
您需要告诉Buffer
构造函数您的字符串是否为十六进制。幸运的是,这非常简单:)
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>