为javascript包,并返回一个二进制string

我之前做过功课,所以我意识到其他问题,如node.js的pack / unpack函数

重点是,这些包,返回一切,但一个二进制string。 我想要做的是一个简单的:

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缓冲区中有各种“写入”方法,包括明确的签名和字节顺序。

所以你的例子会从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文档 。

使用JS,使用myVar.toString(2)其中2是基数。 这将返回1和0的二进制值。