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

WBOY
Lepaskan: 2016-05-16 16:27:47
asal
1523 orang telah melayarinya

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;
};
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!