将包含二进制hexASCII的string转换为Buffer
我正在使用node.js
我有这个stringmsg_str
与以下内容"0102ab00aabb00"
。 我想转换这个string内容(ASCII代表二进制hex),并将其存储到一个缓冲区,使得缓冲区的内容看起来像<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
。
你需要告诉Buffer
构造函数你的string是hex的。 幸运的是,这很容易:)
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>