node.js - 如何将 "binary"编码字符串解码为原始二进制缓冲区?

标签 node.js encoding binary imagemagick buffer

NodeJS docs强调 binary 字符串编码是非常不鼓励的,因为它会在未来的某个时候被丢弃。

但是,我正在尝试使用 node-imagemagick 生成图像缩略图模块,只能输出binary编码的字符串。

我的最终目标是将生成的缩略图作为 BLOB 提交到 SQLite3 数据库(我使用的是 node-sqlite3 ),所以我认为我需要将缩略图作为二进制 Buffer 对象。

我如何直接将 node-imagemagickbinary 编码输出解码为原始二进制 Buffer(而不仅仅是包含 binary 的 Buffer > 编码字符串)?我不喜欢使用 base64...

最佳答案

const buffer = new Buffer(binaryString, "binary");

测试:

$ node
> var binaryString = "\xff\xfa\xc3\x4e";
> var buffer = new Buffer(binaryString, "binary");
> console.log(buffer);
<Buffer ff fa c3 4e>

更新:从 v10.0.0 开始 - 使用 Buffer.from(string[, encoding]) 代替。

关于node.js - 如何将 "binary"编码字符串解码为原始二进制缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13823722/

相关文章:

javascript - Geohash-16 : how to

node.js - 在 Sequelize 中添加具有起始值的自动递增整数

node.js - 使用变量获取 JSON 值时出现未定义

javascript - 与 Web 小部件通信 - Meteor、React、Node

java - URL参数编码/接收问题

c - 当二进制文件运行时,它是否将其整个二进制数据立即复制到内存中?我可以改变吗?

c++ - std::cout,二进制是一种更快的写入输出的方法吗?

mysql - 如何从express中的MYSQL Dev Api中提取数组对象?

.net - 为什么不推荐在 C# 中使用默认编码?

Python 3.4.0 -- 'ascii' 编解码器无法对位置 11-15 中的字符进行编码 : ordinal not in range(128) -- Unix 14. 04