打包为javascript并返回二进制字符串

时间:2011-06-22 12:59:06

标签: javascript node.js

之前我做过我的作业,所以我知道其他问题,比如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" 

2 个答案:

答案 0 :(得分:2)

在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的链接。

答案 1 :(得分:-1)

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