buf.write(string[,offset[,length]][,encoding])
即根据encoding的字符编码写入string到buf中的offset位置。length参数是写入的字节数。如果buf没有足够的空间保存整个字符串,就只会写入string的一部分。只部分解码的字符不会被写入。该方法返回实际写入的大小。参数含义如下:
● String:写入的字符串。
● Offset:开始写入的索引值,默认为0。
● Length:写入的字节数,默认为buffer.length。
● Encoding:使用的编码,默认为"utf8"。
Buffer实例一般用于表示编码字符的序列,如UTF-8、UCS2、Base64或十六进制编码的数据。通过使用显式的字符编码就可以在Buffer实例与普通的JavaScript字符串之间进行相互转换。 Node.js目前支持的字符编码包括: ● ascii:仅支持7位ASCII数据。如果设置去掉高位的话,那么这种编码是非常快的。 ● utf8:多字节编码的Unicode字符。许多网页和其他文档格式都使用UTF-8。 ● utf16le:2或4个字节,小端序编码的Unicode字符,支持代理对(U+10000 ~ U+10FFFF)。 ● ucs2:utf16le的别名。 ● base64:Base64编码。 ● latin1:一种把Buffer编码成一字节编码的字符串的方式。 ● binary:latin1的别名。 ● hex:将每个字节编码为两个十六进制字符。