Buffer 是存放二进制数据容器,类似 Python 的 Byte 类型。参考 - 字符编码 & Base64。
// utf-8 编码
jmjc_utf8 = new Buffer('简明教程', 'utf-8')
console.log(jmjc_utf8) // <Buffer e7 ae 80 e6 98 8e e6 95 99 e7 a8 8b>
// utf-8 解码
jmjc = jmjc_utf8.toString()
console.log(jmjc) // 简明教程
Buffer 除了转码的作用外,它更多时候还用作缓冲区,用于数据的缓存。
var buf = new Buffer(10) // 定义一个10字节的 Buffer
buf.write('...') // 缓存数据
console.log(buf) // <Buffer 2e 2e 2e 00 00 00 00 00 00 00>
console.log(buf.toString()) // ...
Buffer 的 toString
方法,还提供了 Base64
数据的转换。
var b = new Buffer('JavaScript')
var s = b.toString('base64')
// SmF2YVNjcmlwdA==
var b = new Buffer('SmF2YVNjcmlwdA==', 'base64')
var s = b.toString()
// JavaScript