源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

node.js中的buffer.write方法使用说明

  • 时间:2020-11-29 17:10 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:node.js中的buffer.write方法使用说明
[b]方法说明:[/b] 将string使用指定的encoding写入到buffer的offset处。 返回写入了多少个八进制字节。 如果Buffer没有足够的空间来适应整个string,那么将只有string的部分被写入。 [b]语法:[/b]
[u]复制代码[/u] 代码如下:
buffer.write(string, [offset], [length], [encoding])
[b]接收参数:[/b] string                  String,被写入buffer的数据. offet                   number,可选,默认0.数据写入到buffer的位置. length                Number,可选,默认:buffer.length – offset,要写入数据的长度 encoding           String,需要使用的编码格式,可选,默认为”utf8″. [b]例子:[/b]
[u]复制代码[/u] 代码如下:
buf = new Buffer(256);   len = buf.write('\u00bd + \u00bc = \u00be', 0);   console.log(len + " bytes: " + buf.toString('utf8', 0, len));
[b]源码:[/b]
[u]复制代码[/u] 代码如下:
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; };
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部