javascript - 将utf8字符串(图像)解码到node.js中的buffer/Image

标签 javascript node.js string stream buffer

我正在流中接收图像,如下所示,该图像在接收之前已转换为 utf8 字符串 (imageBuffer.toString('utf8')),但是当我尝试使用以下数据创建缓冲区时,缓冲区似乎有所不同,无法重新创建图像。

msg = ����ExifII*��DuckyF��,Photoshop 3.08BIM% �� Adob​​ed����↵→→→→↵↵ ↵ ↵↵ ��g����→ !1AQa"q�2��B#��R3ђ��$T���bCSD��%EU�r�cs��!1Q A����"a2q�B#��� ?�65�]�� ��jF(mR�$Pm�*�a��F�H7���7D�(�

console.log( typeOf msg ) => 字符串

到目前为止我已经尝试过:

let buffer = Buffer.from(msg, 'utf8');
let writable = require('fs').createWriteStream( '/home/test.jpg);
writable.write(buffer);
writable.end();

问题是:无法重现相同的图像。输出缓冲区大小与图像的输入缓冲区大小不同。

最佳答案

使用

let buffer = Buffer.from(new Uint8Array(msg));
...

关于javascript - 将utf8字符串(图像)解码到node.js中的buffer/Image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55043381/

相关文章:

javascript - 删除 javascript/jquery 中的幻像表格单元格

javascript - "cycle"在 CSS 和 onmouseover、onmouseout 类上的 Rails 问题

javascript - 过滤前抛出异常?

python - 比较字符串,允许一个字符差异

Swift 3 下标范围适用于第一个集群但不适用于中间

c++ - switch 语句和其他错误

javascript - 如何将 html 转换为可动态或数据表

javascript - 如何在 WebView 中加载 Javascript

css - pugjs(jade) 模板引擎加载 css 文件

node.js - Auth0 和 React 的 CORS 问题