Deskripsi metode:
Tulis string ke offset buffer menggunakan pengkodean yang ditentukan.
Mengembalikan berapa banyak byte oktal yang telah ditulis.
Jika buffer tidak memiliki ruang yang cukup untuk mengakomodasi seluruh string, hanya string yang akan ditulis.
tata bahasa:
Salinan kode adalah sebagai berikut:
buffer.write (string, [offset], [length], [encoding])
Menerima parameter:
String String, data yang ditulis untuk buffer.
Nomor Penawaran, Opsional, Default 0. Data ditulis ke lokasi buffer.
nomor panjang, opsional, default: buffer.length offset, panjang data yang akan ditulis
String pengkodean, format pengkodean yang diperlukan untuk digunakan, opsional, default adalah "UTF8".
contoh:
Salinan kode adalah sebagai berikut:
buf = buffer baru (256);
len = buf.write (' /u00bd + /u00bc = /u00be', 0);
console.log (len + "bytes:" + buf.tostring ('utf8', 0, len));
Kode Sumber:
Salinan kode adalah sebagai berikut:
Buffer.prototype.write = function (string, offset, length, encoding) {
// Izinkan Write (String, Encode)
if (util.isstring (offset) && util.isundefined (length)) {
Pengkodean = offset;
Offset = 0;
// Izinkan Write (String, Offset [, Length], Encode)
} lain jika (isFinite (offset)) {
offset = ~~ offset;
if (isFinite (length)) {
panjang = ~~ panjang;
} kalau tidak {
pengkodean = panjang;
panjang = tidak terdefinisi;
}
// XXX Legacy Write (String, Encode, Offset, Length) - Hapus di V0.13
} kalau tidak {
if (! dituliskan) {
if (Process.throwDeprecation)
Throw New Error (WrItemsG);
lain jika (proses.tracedeprecation)
console.trace (writemsg);
kalau tidak
console.error (writemsg);
Dituliskan = Benar;
}
var swap = encoding;
Pengkodean = offset;
offset = ~~ panjang;
panjang = swap;
}
var tetap = this.length - offset;
if (util.isundefined (panjang) || panjang> tersisa)
panjang = tersisa;
encoding = !! Pengkodean? (encoding + '') .tolowercase (): 'utf8';
if (string.length> 0 && (panjang <0 || offset <0))
Lempar Rangeerror baru ('Coba tulis di luar batas buffer');
var ret;
switch (encoding) {
kasus 'hex':
ret = this.hexwrite (string, offset, length);
merusak;
Kasus 'UTF8':
kasus 'UTF-8':
ret = this.utf8write (string, offset, length);
merusak;
Kasus 'ASCII':
ret = this.asciiwrite (string, offset, length);
merusak;
kasus 'biner':
ret = this.binarywrite (string, offset, length);
merusak;
case 'base64':
// Peringatan: Maxlength tidak diperhitungkan di Base64Write
ret = this.base64write (string, offset, length);
merusak;
kasus 'ucs2':
kasus 'ucs-2':
kasus 'utf16le':
kasus 'UTF-16LE':
ret = this.ucs2write (string, offset, length);
merusak;
bawaan:
Throw New TypeError ('Encoding Unknown:' + Encoding);
}
pengembalian kembali kembali;
};