2017-02-13 45 views

回答

3

與字符串不同,Node中的緩衝區是可變的。這意味着你可以創建一個緩衝區,將它傳遞到其他地方,當它在一個地方被改變時,它會在兩個地方改變,這並不總是你想要的。如果你想確保沒有任何東西可以改變你的緩衝區,那麼你需要複製它。

slice()返回一個新的緩衝區,它是舊的緩衝區的一部分,類似於slice()對字符串或數組的工作方式。

2

buffer.copy()複製緩衝區。 這裏是當執行上述程序的示例

var buffer1 = new Buffer('ABC'); 

//copy a buffer 
var buffer2 = new Buffer(3); 
buffer1.copy(buffer2); 
console.log("buffer2 content: " + buffer2.toString()); 

,它產生以下結果 -

buffer2 content: ABC 

buffer.slice()方法被用來獲得一個節點緩衝器的子緩衝器 - 這裏是例子。

var buffer1 = new Buffer('maximizedPoint'); 

//slicing a buffer 
var buffer2 = buffer1.slice(0,9); 
console.log("buffer2 content: " + buffer2.toString()); 

當執行上述程序時,它產生以下結果 -

buffer2 content: maximized