Descripción del método:
Escriba la cadena en la compensación del búfer utilizando la codificación especificada.
Devuelve cuántos bytes octales se han escrito.
Si el búfer no tiene suficiente espacio para acomodar toda la cadena, solo se escribirá la cadena.
gramática:
La copia del código es la siguiente:
buffer.write (string, [offset], [longitud], [codificación])
Recibir parámetros:
cadena de cadena, datos escritos en buffer.
Número de oferta, opcional, predeterminado 0. Los datos se escriben en la ubicación del búfer.
Número de longitud, opcional, predeterminado: buffer.length offset, longitud de datos a escribir
Cadena de codificación, el formato de codificación que se debe usar, opcional, el valor predeterminado es "UTF8".
ejemplo:
La copia del código es la siguiente:
BUF = nuevo búfer (256);
len = buf.write (' /u00bd + /u00bc = /u00be', 0);
console.log (len + "bytes:" + buf.ToString ('utf8', 0, len));
Código fuente:
La copia del código es la siguiente:
Buffer.prototype.write = function (string, offset, longitud, codificación) {
// permitir escribir (cadena, codificar)
if (util.isstring (offset) && util.isundefined (longitud)) {
codificación = offset;
compensación = 0;
// permitir escribir (cadena, desplazamiento [, longitud], codificación)
} else if (isFinite (offset)) {
offset = ~~ offset;
if (isFinite (longitud)) {
longitud = ~~ longitud;
} demás {
codificación = longitud;
longitud = indefinido;
}
// XXX Legacy Write (cadena, codificación, desplazamiento, longitud) - Retire en V0.13
} demás {
if (! writeWarned) {
if (process.throwDeprecation)
arrojar un nuevo error (WriteMSG);
else if (process.tracedReprecation)
console.trace (WriteMSG);
demás
console.error (WriteMSG);
WriteWarned = True;
}
var swap = codificación;
codificación = offset;
compensación = ~~ longitud;
longitud = intercambio;
}
var restante = this.length - offset;
if (util.isundefined (longitud) || longitud> restante)
longitud = restante;
codificación = !! codificación? (codificación + '') .tolowercase (): 'utf8';
if (string.length> 0 && (longitud <0 || offset <0))
arrojar nuevos RangeError ('intente escribir más allá de los límites del amortiguador');
var ret;
Switch (codificación) {
Caso 'Hex':
ret = this.hexwrite (cadena, desplazamiento, longitud);
romper;
Caso 'UTF8':
Caso 'UTF-8':
ret = this.utf8Write (cadena, desplazamiento, longitud);
romper;
caso 'ASCII':
ret = this.asciiwrite (cadena, desplazamiento, longitud);
romper;
Caso 'binario':
ret = this.binarywrite (cadena, desplazamiento, longitud);
romper;
Caso 'base64':
// Advertencia: MaxLength no tiene en cuenta en Base64Write
ret = this.base64write (cadena, desplazamiento, longitud);
romper;
Caso 'UCS2':
Caso 'UCS-2':
Caso 'utf16le':
Caso 'utf-16le':
ret = this.ucs2Write (cadena, desplazamiento, longitud);
romper;
por defecto:
arrojar nuevo typeError ('Codificación desconocida:' + codificación);
}
devolver return regresar;
};