2014-07-21 119 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');