Methodenbeschreibung:
Schreiben Sie die Zeichenfolge mit der angegebenen Codierung an den Offset des Puffers.
Gibt zurück, wie viele Oktette geschrieben wurden.
Wenn der Puffer nicht über genügend Platz für die gesamte Zeichenfolge verfügt, wird nur der Teil der Zeichenfolge geschrieben.
Grammatik:
buffer.write(string, [offset], [length], [encoding])
Empfangsparameter:
string String, die in den Puffer geschriebenen Daten.
Offset-Nummer, optional, Standard 0. Der Ort, an dem die Daten in den Puffer geschrieben werden.
Länge Zahl, optional, Standard: buffer.length – Offset, die Länge der zu schreibenden Daten
Kodierungszeichenfolge, das zu verwendende Kodierungsformat, optional, der Standardwert ist „utf8“.
Beispiel:
buf = neuer Puffer(256);
len = buf.write('u00bd u00bc = u00be', 0);
console.log(len " bytes: " buf.toString('utf8', 0, len));
Quellcode:
Buffer.prototype.write = Funktion(Zeichenfolge, Offset, Länge, Kodierung) {
// Schreiben zulassen (Zeichenfolge, Kodierung)
if (util.isString(offset) && util.isUndefined(length)) {
Kodierung = Offset;
Offset = 0;
// Schreiben zulassen (String, Offset[, Länge], Kodierung)
} else if (isFinite(offset)) {
offset = ~~offset;
if (isFinite(length)) {
Länge = ~~Länge;
} sonst {
Kodierung = Länge;
Länge = undefiniert;
}
// XXX Legacy Write(String, Encoding, Offset, Länge) – in v0.13 entfernen
} sonst {
if (!writeWarned) {
if (process.throwDeprecation)
throw new Error(writeMsg);
sonst wenn (process.traceDeprecation)
console.trace(writeMsg);
sonst
console.error(writeMsg);
writeWarned = true;
}
var swap = Kodierung;
Kodierung = Offset;
offset = ~~length;
Länge = Swap;
}
var verbleibend = this.length - offset;
if (util.isUndefiniert(länge) || Länge > verbleibend)
Länge = verbleibend;
Kodierung = !!Kodierung ? (Kodierung '').toLowerCase() : 'utf8';
if (string.length > 0 && (length < 0 || offset < 0))
throw new RangeError('versuch, über die Puffergrenzen hinaus zu schreiben');
var ret;
Schalter (Kodierung) {
case 'hex':
ret = this.hexWrite(string, offset, length);
Pause;
Fall 'utf8':
Fall 'utf-8':
ret = this.utf8Write(string, offset, length);
Pause;
case 'ascii':
ret = this.asciiWrite(string, offset, length);
Pause;
Fall 'binär':
ret = this.binaryWrite(string, offset, length);
Pause;
Fall 'base64':
// Warnung: maxLength wird in base64Write
nicht berücksichtigt
ret = this.base64Write(string, offset, length);
Pause;
Fall 'ucs2':
Fall 'ucs-2':
Fall 'utf16le':
Fall 'utf-16le':
ret = this.ucs2Write(string, offset, length);
Pause;
Standard:
throw new TypeError('Unbekannte Kodierung: ' Kodierung);
}
return ret;
};