我找到了一个将文本转换为大写的转换流here的示例:
Upper.prototype._transform = function (chunk, enc, cb) {
var upperChunk = chunk.toString().toUpperCase();
this.push(upperChunk);
cb();
};
我的理解是否正确,当使用多字节编码时,这种方法可能会导致错误,因为字符字节可以在两个块之间分割?
收集所有块然后在end
转换它们不是更好吗?这样的事情(不确定它会起作用)
var body = [];
request.on('data', function(chunk) {
body.push(chunk);
}).on('end', function() {
this.push(Buffer.concat(body).toString());
});
在这种情况下,transform
功能是否未使用?