生成和写入二进制数据以在Node.js中流式传输

时间:2011-01-28 02:41:38

标签: node.js binaryfiles binary-data

我想在Node.js应用程序中生成一些二进制数据,然后将其写入HTTP响应以供客户端下载。我在同一个应用程序中的当前实现是Python,它使用struct module实现了这一点。例如,

import struct
# ...
s = 'Filename header'
s_binary = struct.pack('15s',s)
# ...

另外,如何在Node.js中将数字转换为二进制?我在Python中的方式是:

# To convert a float into four byte binary representation in Python.
import struct
num_binary = struct.pack('f',23.33)

我如何在Node.js中做同样的事情?

这是迄今为止我得到的最佳解决方案 - 将Python的结构库直接移植到Node.js - jspack

2 个答案:

答案 0 :(得分:1)

您可以查看Bison。它就像JSON,但会创建二进制数据。

答案 1 :(得分:1)

var s="Filename header";
var s_binary=new Buffer(15);
for(var i=0;i<s_binary.length;i++) {
    s_binary[i]=0;
}
s_binary.write(s);
// Now you can write s_binary to a stream.