拼接buffer,Buffrr.concat参数

604 阅读1分钟
# 正确的拼接方法
var chunks = [];
var size = 0;
res.on('data', function (chunk) {
    chunks.push(chunk);
    size += chunk.length; 
});
res.on('end', function () { 
    var buf = Buffer.concat(chunks, size);
    // var str = iconv.decode(buf, 'utf8’);
    console.log(str);
});

# Buffer.concat函数
Buffer.concat = function(list, length) { 
    var buffer = new Buffer(length); 
    var pos=0;
    for (var i = 0; i < list.length; i++) {
        var buf = list[i];
        // Buffer.prototype.copy(targetBuffer, [targetStart], [sourceStart], [sourceEnd])
        buf.copy(buffer, pos); 
        pos += buf.length;
    }
    return buffer;
};