javascript - 将包含 ASCII 二进制十六进制的字符串转换为 Buffer

标签 javascript node.js string

我正在使用 node.js。

我有这个字符串 msg_str内容如下"0102ab00aabb00" .我想转换此字符串内容(表示二进制十六进制的 ASCII)并将其存储到 Buffer 中,以便 Buffer 的内容看起来像 <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 构造函数您的字符串是十六进制的。幸运的是,这很容易:)

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>

关于javascript - 将包含 ASCII 二进制十六进制的字符串转换为 Buffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34803652/

相关文章:

javascript - 尝试在我的 express ejs 应用程序中呈现 html 实体

c# - 拆分大小小于 1MB 的字符串

c - 如何将字符串数组复制到空字符串数组

javascript - 如何判断用户是否离线

javascript - MongoDB 删除重复的子文档

JavaScript 返回字符串限制为 2 个字符

Javascript chrome 扩展内容脚本

javascript - 在 Node.js 和 Express 中使用角色进行日志记录

javascript - Node.js 找不到基本功能

python - 循环搜索字符串直到找到字符串 python