Rumah >hujung hadapan web >tutorial js >Arahan untuk menggunakan kaedah buffer.write dalam node.js_node.js

Arahan untuk menggunakan kaedah buffer.write dalam node.js_node.js

WBOY
WBOYasal
2016-05-16 16:27:471568semak imbas

Penerangan kaedah:

Tulis rentetan ke offset penimbal menggunakan pengekodan yang ditentukan.

Mengembalikan bilangan oktet yang ditulis.

Jika Penampan tidak mempunyai ruang yang mencukupi untuk memuatkan keseluruhan rentetan, maka hanya bahagian rentetan itu akan ditulis.

Tatabahasa:

Salin kod Kod adalah seperti berikut:

buffer.write(rentetan, [offset], [panjang], [pengekodan])

Terima parameter:

String rentetan, data yang ditulis pada penimbal.
nombor offet, pilihan, lalai 0. Lokasi tempat data ditulis ke penimbal.
panjang Nombor, pilihan, lalai: buffer.length – mengimbangi, panjang data yang akan ditulis
pengekodan Rentetan, format pengekodan yang akan digunakan, pilihan, lalai ialah "utf8".

Contoh:

Salin kod Kod adalah seperti berikut:

buf = Penampan baharu(256);

len = buf.write('u00bd u00bc = u00be', 0);

console.log(len " bytes: " buf.toString('utf8', 0, len));

Kod sumber:

Salin kod Kod adalah seperti berikut:

Buffer.prototype.write = fungsi(rentetan, offset, panjang, pengekodan) {
  // benarkan tulis(rentetan, pengekodan)
  if (util.isString(offset) && util.isUndefined(panjang)) {
    pengekodan = offset;
    offset = 0;
  // benarkan tulis(rentetan, offset [, panjang], pengekodan)
  } lain jika (isFinite(offset)) {
    offset = ~~offset;
    jika (adalahTerhad(panjang)) {
      panjang = ~~panjang;
    } lain {
      pengekodan = panjang;
      panjang = tidak ditentukan;
    }
  // Tulisan warisan XXX(rentetan, pengekodan, offset, panjang) - alih keluar dalam v0.13
  } lain {
    jika (!writeWarned) {
      jika (process.throwDeprecation)
        buang Ralat baharu(writeMsg);
      else if (process.traceDeprecation)
        console.trace(writeMsg);
      lain
        console.error(writeMsg);
      writeWarned = benar;
    }
    var swap = pengekodan;
    pengekodan = offset;
    offset = ~~panjang;
    panjang = swap;
  }
  var baki = this.length - offset;
  if (util.isUndefined(length) || panjang > baki)
    panjang = baki;
  pengekodan = !!pengekodan ? (pengekodan '').toLowerCase() : 'utf8';
  jika (rentetan.panjang > 0 && (panjang < 0 || mengimbangi < 0))
    buang RangeError baharu('percubaan untuk menulis melebihi had penampan');
  var ret;
  suis (pengekodan) {
    kes 'hex':
      ret = this.hexWrite(rentetan, offset, panjang);
      rehat;
    kes 'utf8':
    kes 'utf-8':
      ret = this.utf8Write(rentetan, offset, panjang);
      rehat;
    kes 'ascii':
      ret = this.asciiWrite(rentetan, offset, panjang);
      rehat;
    kes 'binari':
      ret = this.binaryWrite(rentetan, offset, panjang);
      rehat;
    kes 'base64':
      // Amaran: maxLength tidak diambil kira dalam base64Write
      ret = this.base64Write(rentetan, offset, panjang);
      rehat;
    kes 'ucs2':
    kes 'ucs-2':
    kes 'utf16le':
    kes 'utf-16le':
      ret = this.ucs2Write(rentetan, offset, panjang);
      rehat;
    lalai:
      buang TypeError baharu('Pengekodan tidak diketahui: ' pengekodan);
  }
  pulang ret;
};
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn