【问题标题】:node.js returning a binary streamnode.js 返回二进制流
【发布时间】:2016-10-04 01:22:20
【问题描述】:

谁能帮我解决这个 node.js 问题?

这是一个 node.js 函数,用于将值 0.333333 作为二进制数据发送回客户端:

app.get('/GetBinaryData', function(req, res)
                               {
                                    var buf = new Buffer(8);

                                    buf[0] = 0x55;
                                    buf[1] = 0x55;
                                    buf[2] = 0x55;
                                    buf[3] = 0x55;
                                    buf[4] = 0x55;
                                    buf[5] = 0x55;
                                    buf[6] = 0xd5;
                                    buf[7] = 0x3f;

                                    res.send(buf);
                               }
   );

回到客户端,我可以获取流并转换为双精度流。

假设我想返回一个变量的值,比如说

var x = 0.432;

以类似的方式,我怎么能这样做?

我的最终目标是返回一个值数组,比如:

var 数组 = [7.1,5.2,13.3,300.4];

感谢您的帮助, 米奇。

【问题讨论】:

  • 如果你在函数顶部定义一个数组var ret = [],然后有一个迭代将多个缓冲区推入ret,最后将ret返回给客户端呢?

标签: node.js


【解决方案1】:

使用Buffer#writeDouble*():

let buffer = Buffer.alloc(8);
buffer.writeDoubleLE(0.432);

console.log( buffer.toString('hex') ); // d9cef753e3a5db3f

【讨论】:

  • 感谢您的帮助,米奇。
猜你喜欢
  • 1970-01-01
  • 2017-03-14
  • 2019-01-31
  • 2019-05-02
  • 1970-01-01
  • 2018-11-08
  • 1970-01-01
相关资源
最近更新 更多