找到传递的每个数据块?
Finding each chunk of data passed?
如何找到传递的数据块?
var crypto = require('crypto');
var fs = require('fs');
var readStream = fs.createReadStream('notes.txt');
var hash = crypto.createHash('sha1');
readStream
.on('data', function (chunk) {
hash.update(chunk);
})
.on('end', function () {
console.log(hash.digest('hex'));
});
data
事件在 each chunk of data
的 readable
流上触发,有什么方法可以弄清楚每个数据块是什么通过?.
下面是我的 sample
文本文件。
one
two
three
four
默认情况下没有字符串解码器,因此流与缓冲区一起工作(当然除非在对象模式下)。您可以通过 .toString()
将 Buffer 转换为字符串,以查看块的字符串表示形式。然而,由于 utf8(.toString()
的默认编码)的设计方式,它可能并不总是正确显示(例如,一些字符跨越一个字节以上,因此一个块可能以部分字符结束)。 .toString()
示例:
readStream
.on('data', function (chunk) {
hash.update(chunk);
console.log(chunk.toString());
})
如何找到传递的数据块?
var crypto = require('crypto');
var fs = require('fs');
var readStream = fs.createReadStream('notes.txt');
var hash = crypto.createHash('sha1');
readStream
.on('data', function (chunk) {
hash.update(chunk);
})
.on('end', function () {
console.log(hash.digest('hex'));
});
data
事件在 each chunk of data
的 readable
流上触发,有什么方法可以弄清楚每个数据块是什么通过?.
下面是我的 sample
文本文件。
one
two
three
four
默认情况下没有字符串解码器,因此流与缓冲区一起工作(当然除非在对象模式下)。您可以通过 .toString()
将 Buffer 转换为字符串,以查看块的字符串表示形式。然而,由于 utf8(.toString()
的默认编码)的设计方式,它可能并不总是正确显示(例如,一些字符跨越一个字节以上,因此一个块可能以部分字符结束)。 .toString()
示例:
readStream
.on('data', function (chunk) {
hash.update(chunk);
console.log(chunk.toString());
})