国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 16:11:50
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了node.js中的buffer.write方法使用說明,本文介紹了buffer.write的方法說明、語法、接收參數、使用實例和實現源碼,需要的朋友可以參考下
 
 

方法說明:

將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;
};

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 宜良县| 濮阳县| 祥云县| 肥乡县| 金坛市| 建阳市| 五莲县| 吉林省| 恩施市| 大厂| 枞阳县| 桑植县| 垦利县| 聂拉木县| 治多县| 雅安市| 铜陵市| 赫章县| 宜章县| 五常市| 临洮县| 靖宇县| 江津市| 措美县| 双城市| 哈尔滨市| 北海市| 富顺县| 错那县| 阳春市| 区。| 洛川县| 通渭县| 乐业县| 绥化市| 资阳市| 镇坪县| 内江市| 延津县| 田东县| 同德县|