将string使用指定的encoding写入到buffer的offset处。
返回写入了多少个八进制字节。
如果Buffer没有足够的空间来适应整个string,那么将只有string的部分被写入。
语法:
 代码如下:
buffer.write(string, [offset], [length], [encoding])
接收参数:
string String,被写入buffer的数据.
offet number,可选,默认0.数据写入到buffer的位置.
length Number,可选,默认:buffer.length – offset,要写入数据的长度
encoding String,需要使用的编码格式,可选,默认为”utf8″.
例子:
 代码如下:
buf = new Buffer(256);
 
len = buf.write('\u00bd + \u00bc = \u00be', 0);
 
console.log(len + " bytes: " + buf.toString('utf8', 0, len));
源码:
 代码如下:
Buffer.prototype.write = function(string, offset, length, encoding) {
 // allow write(string, encoding)
 if (util.isString(offset) && util.isUndefined(length)) {
 encoding = offset;
 offset = 0;
 // allow write(string, offset[, length], encoding)
 } else if (isFinite(offset)) {
 offset = ~~offset;
 if (isFinite(length)) {
 length = ~~length;
 } else {
 encoding = length;
 length = undefined;
 }
 // XXX legacy write(string, encoding, offset, length) - remove in v0.13
 } else {
 if (!writeWarned) {
 if (process.throwDeprecation)
 throw new Error(writeMsg);
 else if (process.traceDeprecation)
 console.trace(writeMsg);
 else
 console.error(writeMsg);
 writeWarned = true;
 }
 var swap = encoding;
 encoding = offset;
 offset = ~~length;
 length = swap;
 }
 var remaining = this.length - offset;
 if (util.isUndefined(length) || length > remaining)
 length = remaining;
 encoding = !!encoding ? (encoding + '').toLowerCase() : 'utf8';
 if (string.length > 0 && (length < 0 || offset < 0))
 throw new RangeError('attempt to write beyond buffer bounds');
 var ret;
 switch (encoding) {
 case 'hex':
 ret = this.hexWrite(string, offset, length);
 break;
 case 'utf8':
 case 'utf-8':
 ret = this.utf8Write(string, offset, length);
 break;
 case 'ascii':
 ret = this.asciiWrite(string, offset, length);
 break;
 case 'binary':
 ret = this.binaryWrite(string, offset, length);
 break;
 case 'base':
 // Warning: maxLength not taken into account in baseWrite
 ret = this.baseWrite(string, offset, length);
 break;
 case 'ucs2':
 case 'ucs-2':
 case 'utf16le':
 case 'utf-16le':
 ret = this.ucs2Write(string, offset, length);
 break;
 default:
 throw new TypeError('Unknown encoding: ' + encoding);
 }
 return ret;
};