Skip to content

Buffer #12

Description

@chengfengliu

1.字符串转Buffer
new Buffer(str, [encoding]);默认UTF-8
2.Buffer转字符串
buf.toString([encoding], [start], [end])

Buffer的拼接
var fs = require('fs')
var rs = fs.createReadStream('test.md')
var data = ''
rs.on('data', function(trunk) {
data += trunk // 等价于data = data.toString() + trunk.toString()
})
rs.on('end', function() {
console.log(data)
}
英文不会乱码(一个字节表示一个字母或者标点符号),但是中文UTF-8(三个字节表示一个中文符号)很容易乱码。因为会截断,例如每次读取11个字节,只能显示3个半中文。

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)
}

作用
1.文件I/O
2.网络I/O

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions