2014-07-21 75 views
2

我想将一个缓冲区序列化为字符串而没有任何开销(一个字节为一个字符)并且能够将其反序列化为缓冲区。Node.js缓冲区字符串序列化

var b = new Buffer (4) ; 
var s = b.toString() ; 
var b2 = new Buffer (s) 

对于低于128的值产生相同的结果。我想使用整个范围0-255。

我知道我可以在序列化中使用String.fromCharCode()在串行化和String.charCodeAt()中进行反序列化,但我正在寻找一些本地模块实现(如果有的话)。

+2

有已被弃用'binary'编码。但我会建议使用'base64'编码 –

+0

@AlexeyTen这是正确的答案! – FelikZ

回答

2

您可以使用binary编码,但通常应尽量避免,因为将Buffer转换为二进制字符串会带来额外的计算开销。

实施例:

var b = new Buffer(4); 
var s = b.toString('binary'); 
var b2 = new Buffer(s, 'binary');