我之前做过功课,所以我知道诸如pack / unpack functions for node.js之类的其他问题

关键是,这些包将返回除二进制字符串以外的所有内容。我想做的很简单:

ruby-1.9.2-p136 :001 > [1,"10.0.0.1","foo"].pack 'l! a4 Z*'
 => "\x01\x00\x00\x00\x00\x00\x00\x0010.0foo\x00"

最佳答案

在node.js中,v0.5.0-pre Buffers具有各种“写入”方法,其中包括显式签名和字节序。

因此,您的示例将从Ruby转译为node.js JavaScript,例如:

var b = new Buffer(8/*long*/ + 4 + 4);
b.writeInt32(1/*value*/, 0/*offset*/, 'little'/*endian*/);
b.write('10.0', 8/*offset*/);
b.write('foo\0', 12/*offset*/);
b.toString();
// => '\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u000010.0foo\u0000'


[编辑]:直接在GitHub存储库中更新了Buffers documentation的链接。

关于javascript - 打包javascript并返回二进制字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6440265/

10-11 12:34