方法说明:
将string使用指定的encoding写入到buffer的offset处。
返回写入了多少个八进制字节。
如果Buffer没有足够的空间来适应整个string,那么将只有string的部分被写入。
语法:
代码如下:
接收参数:
string String,被写入buffer的数据. offet number,可选,默认0.数据写入到buffer的位置. length Number,默认:buffer.length – offset,要写入数据的长度 encoding String,需要使用的编码格式,默认为”utf8″.
例子:
代码如下:
len = buf.write('\u00bd + \u00bc = \u00be',0);
console.log(len + " bytes: " + buf.toString('utf8',len));
源码:
代码如下:
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,length);
break;
case 'utf8':
case 'utf-8':
ret = this.utf8Write(string,length);
break;
case 'ascii':
ret = this.asciiWrite(string,length);
break;
case 'binary':
ret = this.binaryWrite(string,length);
break;
case 'base64':
// Warning: maxLength not taken into account in base64Write
ret = this.base64Write(string,length);
break;
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
ret = this.ucs2Write(string,length);
break;
default:
throw new TypeError('Unknown encoding: ' + encoding);
}
return ret;
};
原文链接:/nodejs/56993.html