方法说明:
将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 'base64': // Warning: maxLength not taken into account in base64Write ret = this.base64Write(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; };
本文向大家介绍node.js中的events.emitter.removeListener方法使用说明,包括了node.js中的events.emitter.removeListener方法使用说明的使用技巧和注意事项,需要的朋友参考一下 方法说明: 移除指定事件的某个监听器。 语法: 接收参数: event (string) 事件类型 listene
本文向大家介绍node.js中的emitter.emit方法使用说明,包括了node.js中的emitter.emit方法使用说明的使用技巧和注意事项,需要的朋友参考一下 方法说明: 发射event事件,传递若干可选参数到事件监听器的参数表。 语法: 接收参数: event 事件类型 arg1 ~ argN 传递的参数(多个) 例子:
本文向大家介绍node.js中的events.emitter.once方法使用说明,包括了node.js中的events.emitter.once方法使用说明的使用技巧和注意事项,需要的朋友参考一下 方法说明: 为指定事件注册一个 单次 监听器,所以监听器至多只会触发一次,触发后立即解除该监听器。 语法: 接收参数: event (string) 事件
本文向大家介绍node.js中的emitter.on方法使用说明,包括了node.js中的emitter.on方法使用说明的使用技巧和注意事项,需要的朋友参考一下 方法说明: 为指定事件注册一个监听器。 语法: 接收参数: event (string) 事件类型 listener (function) 触发事件时的回调函
本文向大家介绍node.js中的http.request.end方法使用说明,包括了node.js中的http.request.end方法使用说明的使用技巧和注意事项,需要的朋友参考一下 方法说明: 完成请求发送。 如果任何一部分请求体没有被发送,它将被刷新到流。 如果指定了 data值,将在执行完 request.end() 后,再执行一条 request.write(data , encodi
本文向大家介绍node.js中的buffer.slice方法使用说明,包括了node.js中的buffer.slice方法使用说明的使用技巧和注意事项,需要的朋友参考一下 方法说明: 返回一个新的buffer对象,这个新buffer和老buffer公用一个内存。 但是被start和end索引偏移缩减了。(比如,一个buffer里有1到10个字节,我们只想要4-8个字节,就可以用这个函数buf.sl