Node.js Buffer (búfer)
El lenguaje JavaScript solo tiene tipos de datos de cadena, no tiene tipos de datos binarios.
La clase Buffer en Node.js es una herramienta central para manejar datos binarios y proporciona operaciones eficientes sobre ellos.
La clase Buffer es especialmente útil en escenarios como operaciones con archivos, comunicación de red, procesamiento de imágenes, entre otros.
Características:
- Datos binarios:
BufferUn objeto es una matriz de tamaño fijo que contiene datos binarios sin procesar. Cada elemento ocupa un byte (8 bits), por lo tantoBufferAdecuado para procesar datos binarios, como contenido de archivos, paquetes de red, etc. - Inmutabilidad: aunque
BufferEl contenido de un objeto se puede modificar después de su creación, pero su longitud es fija y no se puede cambiar dinámicamente.
Buffer y codificación de caracteres
Las instancias de Buffer generalmente se utilizan para representar secuencias de caracteres codificados, como datos codificados en UTF-8, UCS2, Base64 o hexadecimal. Mediante el uso de una codificación de caracteres explícita, se puede realizar la conversión mutua entre instancias de Buffer y cadenas de JavaScript normales.
Ejemplo
// Salida 72756e6f6f62
console.log(buf.toString('hex'));
// Salida cnVub29i
console.log(buf.toString('base64'));
Las codificaciones de caracteres compatibles actualmente con Node.js incluyen:
ascii- Solo admite datos ASCII de 7 bits. Si se elimina el bit alto, esta codificación es muy rápida.
utf8- Caracteres Unicode codificados en multibyte. Muchas páginas web y otros formatos de documentos utilizan UTF-8.
utf16le- Caracteres Unicode codificados en 2 o 4 bytes, en orden de bytes little-endian. Admite pares sustitutos (U+10000 a U+10FFFF).
ucs2 - utf16lealias de.
base64- Codificación Base64.
latin1- Una forma deBuffercodificar en una cadena codificada en un byte.
binary - latin1alias de.
hex- Codifica cada byte como dos caracteres hexadecimales.
Crear la clase Buffer
Buffer proporciona la siguiente API para crear la clase Buffer:
- Buffer.alloc(size[, fill[, encoding]]):Crea un Buffer de longitud size bytes, equivalente a solicitar un espacio de memoria de size bytes, donde cada byte tiene el valor 0.
- Buffer.allocUnsafe(size):Crea un Buffer de longitud size bytes, pero el Buffer puede contener datos antiguos, lo que puede afectar el resultado de la ejecución, por lo que se llama unsafe.
- Buffer.allocUnsafeSlow(size):Se utiliza para asignar una nueva instancia de Buffer de tamaño size dado, pero no la inicializa.
- Buffer.from(array):Devuelve una nueva instancia de Buffer inicializada con los valores de array (los elementos del array pasado solo pueden ser números, de lo contrario se sobrescriben automáticamente con 0).
- Buffer.from(arrayBuffer[, byteOffset[, length]]):Devuelve un nuevo Buffer que comparte la misma memoria con el ArrayBuffer dado.
- Buffer.from(buffer):Copia los datos de la instancia de Buffer pasada y devuelve una nueva instancia de Buffer.
- Buffer.from(string[, encoding]):Crea un Buffer a partir de una cadena; se puede especificar la codificación, cuyo valor predeterminado es UTF-8.
Ejemplo
const buf1 = Buffer.alloc(10);
// Crea un Buffer de longitud 10, relleno con 0x1.
const buf2 = Buffer.alloc(10, 1);
// Crea un Buffer de longitud 10, sin inicializar.
// Este método es más rápido que llamar a Buffer.alloc(),
// pero la instancia de Buffer devuelta puede contener datos antiguos,
// por lo que es necesario sobrescribirla con fill() o write().
const buf3 = Buffer.allocUnsafe(10);
// Crea un Buffer que contiene [0x1, 0x2, 0x3].
const buf4 = Buffer.from([1, 2, 3]);
// Crea un Buffer que contiene los bytes UTF-8 [0x74, 0xc3, 0xa9, 0x73, 0x74].
const buf5 = Buffer.from('tést');
// Crea un Buffer que contiene los bytes Latin-1 [0x74, 0xe9, 0x73, 0x74].
const buf6 = Buffer.from('tést', 'latin1');
Escribir en el búfer
Sintaxis
La sintaxis para escribir en un búfer de Node es la siguiente:
buf.write(string[, offset[, length]][, encoding])
Parámetros
Los parámetros se describen a continuación:
string- La cadena que se escribe en el búfer.
offset- El índice donde el búfer comienza a escribir; por defecto es 0.
length- El número de bytes a escribir; por defecto es buffer.length
encoding- La codificación utilizada. Por defecto es 'utf8'.
Escribe string en buf en la posición offset según la codificación de caracteres encoding. El parámetro length es el número de bytes a escribir. Si buf no tiene suficiente espacio para almacenar toda la cadena, solo se escribirá una parte de string. Los caracteres solo parcialmente decodificados no se escribirán.
Valor de retorno
Devuelve el tamaño realmente escrito. Si el espacio del búfer es insuficiente, solo se escribirá parte de la cadena.
Ejemplo
buf = Buffer.alloc(256);
len = buf.write("www.example.com");
console.log("写入字节数 : "+ len);
Al ejecutar el código anterior, el resultado es:
$node main.js 写入字节数 : 14
Leer datos del búfer
Sintaxis
La sintaxis para leer datos de un búfer de Node es la siguiente:
buf.toString([encoding[, start[, end]]])
Parámetros
Los parámetros se describen a continuación:
encoding- La codificación utilizada. Por defecto es 'utf8'.
start- Especifica la posición de índice donde comienza la lectura; por defecto es 0.
end- La posición final; por defecto es el final del búfer.
Valor de retorno
Decodifica los datos del búfer y devuelve una cadena utilizando la codificación especificada.
Ejemplo
buf = Buffer.alloc(26);
for (var i = 0 ; i < 26 ; i++) {
buf[i] = i + 97;
}
console.log( buf.toString('ascii')); // 输出: abcdefghijklmnopqrstuvwxyz
console.log( buf.toString('ascii',0,5)); //使用 'ascii' 编码, 并输出: abcde
console.log( buf.toString('utf8',0,5)); // 使用 'utf8' 编码, 并输出: abcde
console.log( buf.toString(undefined,0,5)); // 使用默认的 'utf8' 编码, 并输出: abcde
Al ejecutar el código anterior, el resultado es:
$ node main.js abcdefghijklmnopqrstuvwxyz abcde abcde abcde
Convertir Buffer a objeto JSON
Sintaxis
El formato de sintaxis de la función para convertir un Buffer de Node a un objeto JSON es el siguiente:
buf.toJSON()
Cuando se convierte en cadena una instancia de Buffer,JSON.stringify()se llama implícitamente a estetoJSON()。
Valor de retorno
Devuelve un objeto JSON.
Ejemplo
const buf = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5]);
const json = JSON.stringify(buf);
// 输出: {"type":"Buffer","data":[1,2,3,4,5]}
console.log(json);
const copy = JSON.parse(json, (key, value) => {
return value && value.type === 'Buffer' ?
Buffer.from(value.data) :
value;
});
// 输出: <Buffer 01 02 03 04 05>
console.log(copy);
Al ejecutar el código anterior, el resultado es:
{"type":"Buffer","data":[1,2,3,4,5]}
<Buffer 01 02 03 04 05>
Combinar búferes
Sintaxis
La sintaxis para combinar búferes de Node es la siguiente:
Buffer.concat(list[, totalLength])
Parámetros
Los parámetros se describen a continuación:
list- La lista de matrices de objetos Buffer que se utilizará para la combinación.
totalLength- Especifica la longitud total del objeto Buffer después de la combinación.
Valor de retorno
Devuelve un nuevo objeto Buffer resultante de la combinación de varios miembros.
Ejemplo
var buffer1 = Buffer.from(('Ejemplo'));
var buffer2 = Buffer.from(('www.example.com'));
var buffer3 = Buffer.concat([buffer1,buffer2]);
console.log("buffer3 内容: " + buffer3.toString());
Al ejecutar el código anterior, el resultado es:
buffer3 内容: Ejemplowww.example.com
Comparación de búferes
Sintaxis
La sintaxis de la función de comparación de Buffer en Node es la siguiente. Este método se introdujo en Node.js v0.12.2:
buf.compare(otherBuffer);
Parámetros
Los parámetros se describen a continuación:
otherBuffer- Con elbufotro objeto Buffer que se compara con el objeto.
Valor de retorno
Devuelve un número que indica si buf estábufEnotherBufferantes, después o igual.
Ejemplo
var buffer1 = Buffer.from('ABC');
var buffer2 = Buffer.from('ABCD');
var result = buffer1.compare(buffer2);
if(result < 0) {
console.log(buffer1 + " 在 " + buffer2 + "之前");
}else if(result == 0){
console.log(buffer1 + " 与 " + buffer2 + "相同");
}else {
console.log(buffer1 + " 在 " + buffer2 + "之后");
}
Al ejecutar el código anterior, el resultado es:
ABC在ABCD之前
Copiar búfer
Sintaxis
La sintaxis de copia de buffer de Node es la siguiente:
buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
Parámetros
Los parámetros se describen a continuación:
targetBuffer- El objeto Buffer que se va a copiar.
targetStart- Número, opcional, por defecto: 0
sourceStart- Número, opcional, por defecto: 0
sourceEnd- Número, opcional, por defecto: buffer.length
Valor de retorno
No tiene valor de retorno.
Ejemplo
var buf1 = Buffer.from('abcdefghijkl');
var buf2 = Buffer.from('EJEMPLO');
//将 buf2 插入到 buf1 指定位置上
buf2.copy(buf1, 2);
console.log(buf1.toString());
Al ejecutar el código anterior, el resultado es:
abEJEMPLOijkl
Recorte del búfer
La sintaxis de recorte de buffer de Node es la siguiente:
buf.slice([start[, end]])
Parámetros
Los parámetros se describen a continuación:
start- Número, opcional, por defecto: 0
end- Número, opcional, por defecto: buffer.length
Valor de retorno
Devuelve un nuevo buffer que apunta a la misma memoria que el buffer original, pero cortado desde el índice start hasta end.
Ejemplo
var buffer1 = Buffer.from('ejemplo');
// 剪切缓冲区
var buffer2 = buffer1.slice(0,2);
console.log("buffer2 content: " + buffer2.toString());
Al ejecutar el código anterior, el resultado es:
buffer2 content: ru
Longitud del búfer
Sintaxis
La sintaxis para calcular la longitud de un buffer de Node es la siguiente:
buf.length;
Valor de retorno
Devuelve la longitud de memoria ocupada por el objeto Buffer.
Ejemplo
var buffer = Buffer.from('www.example.com');
// 缓冲区长度
console.log("buffer length: " + buffer.length);
Al ejecutar el código anterior, el resultado es:
buffer length: 14
Manual de referencia de métodos
A continuación se enumeran los métodos comunes del módulo Buffer de Node.js (ten en cuenta que algunos métodos no existen en versiones antiguas):
| N.º | Método y descripción |
|---|---|
| 1 | new Buffer(size) Asigna un nuevo buffer de tamaño size en unidades de 8 bits. Ten en cuenta que size debe ser menor que kMaxLength; de lo contrario, se lanzará una excepción RangeError.Obsoleto: use Buffer.alloc() en su lugar (o Buffer.allocUnsafe()). |
| 2 | new Buffer(buffer) Copia los datos del parámetro buffer a la instancia de Buffer.Obsoleto: use Buffer.from(buffer) en su lugar. |
| 3 | new Buffer(str[, encoding]) Asigna un nuevo buffer que contiene la cadena str proporcionada. La codificación encoding es 'utf8' por defecto.Obsoleto: use Buffer.from(string[, encoding]) en su lugar. |
| 4 | buf.length Devuelve el número de bytes de este buffer. Ten en cuenta que no necesariamente es el tamaño del contenido del buffer. length es la cantidad de memoria asignada al objeto buffer y no cambia con el contenido de este objeto buffer. |
| 5 | buf.write(string[, offset[, length]][, encoding]) Escribe los datos de la cadena string en el buffer según el desplazamiento offset y la codificación encoding especificados. El valor predeterminado de offset es 0 y el de encoding es utf8. length es el tamaño en bytes de la cadena que se va a escribir. Devuelve un valor de tipo number que indica cuántos bytes de 8 bits se escribieron. Si el buffer no tiene suficiente espacio para contener toda la cadena string, solo se escribirá parte de la cadena. El valor predeterminado de length es buffer.length - offset. Este método no escribirá caracteres parciales. |
| 6 | buf.writeUIntLE(value, offset, byteLength[, noAssert]) Escribe value en el buffer, determinado por offset y byteLength, con soporte de hasta enteros sin signo de 48 bits, en orden little-endian, por ejemplo: const buf = Buffer.allocUnsafe(6); buf.writeUIntLE(0x1234567890ab, 0, 6); // 输出: <Buffer ab 90 78 56 34 12> console.log(buf);Cuando noAssert es true, ya no se verifica la validez de value y offset. El valor predeterminado es false. |
| 7 | buf.writeUIntBE(value, offset, byteLength[, noAssert]) Escribe value en el buffer, determinado por offset y byteLength, con soporte de hasta enteros sin signo de 48 bits, en orden big-endian. Cuando noAssert es true, ya no se verifica la validez de value y offset. El valor predeterminado es false. const buf = Buffer.allocUnsafe(6); buf.writeUIntBE(0x1234567890ab, 0, 6); // 输出: <Buffer 12 34 56 78 90 ab> console.log(buf); |
| 8 | buf.writeIntLE(value, offset, byteLength[, noAssert]) Escribe value en el buffer, determinado por offset y byteLength, con soporte de hasta enteros con signo de 48 bits, en orden little-endian. Cuando noAssert es true, ya no se verifica la validez de value y offset. El valor predeterminado es false. |
| 9 | buf.writeIntBE(value, offset, byteLength[, noAssert]) Escribe value en el buffer, determinado por offset y byteLength, con soporte de hasta enteros con signo de 48 bits, en orden big-endian. Cuando noAssert es true, ya no se verifica la validez de value y offset. El valor predeterminado es false. |
| 10 | buf.readUIntLE(offset, byteLength[, noAssert]) Admite la lectura de números sin signo de hasta 48 bits, en orden little-endian. Cuando noAssert es true, offset ya no se valida para comprobar que no exceda la longitud del buffer; el valor predeterminado es false. |
| 11 | buf.readUIntBE(offset, byteLength[, noAssert]) Admite la lectura de números sin signo de hasta 48 bits, en orden big-endian. Cuando noAssert es true, offset ya no se valida para comprobar que no exceda la longitud del buffer; el valor predeterminado es false. |
| 12 | buf.readIntLE(offset, byteLength[, noAssert]) Admite la lectura de números con signo de hasta 48 bits, en orden little-endian. Cuando noAssert es true, offset ya no se valida para comprobar que no exceda la longitud del buffer; el valor predeterminado es false. |
| 13 | buf.readIntBE(offset, byteLength[, noAssert]) Admite la lectura de números con signo de hasta 48 bits, en orden big-endian. Cuando noAssert es true, offset ya no se valida para comprobar que no exceda la longitud del buffer; el valor predeterminado es false. |
| 14 | buf.toString([encoding[, start[, end]]]) Devuelve un tipo string decodificado según el parámetro encoding (por defecto 'utf8'). También toma como rango de valores los parámetros start (por defecto 0) y end (por defecto buffer.length). |
| 15 | buf.toJSON() Convierte la instancia de Buffer en un objeto JSON. |
| 16 | buf[index] Obtiene o establece el byte especificado. El valor de retorno representa un byte, por lo que el rango válido del valor de retorno es de 0x00 a 0xFF en hexadecimal o de 0 a 255 en decimal. |
| 17 | buf.equals(otherBuffer) Compara si dos buffers son iguales; si lo son, devuelve true; de lo contrario, devuelve false. |
| 18 | buf.compare(otherBuffer) Compara dos objetos Buffer y devuelve un número que indica si buf está antes, después o es igual que otherBuffer. |
| 19 | buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]]) Copia de buffer; el origen y el destino pueden ser el mismo. targetStart (desplazamiento de inicio del destino) y sourceStart (desplazamiento de inicio del origen) tienen como valor predeterminado 0. sourceEnd (desplazamiento de fin del origen) tiene como valor predeterminado la longitud del origen, buffer.length. |
| 20 | buf.slice([start[, end]]) Corta el objeto Buffer de acuerdo con los índices de inicio start (por defecto 0) y fin end (por defecto buffer.length). Los índices negativos se calculan desde el final del buffer. |
| 21 | buf.readUInt8(offset[, noAssert]) Lee un entero sin signo de 8 bits según el desplazamiento especificado. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Si es así, offset podría sobrepasar el final del buffer. El valor predeterminado es false. |
| 22 | buf.readUInt16LE(offset[, noAssert]) Lee un entero sin signo de 16 bits según el desplazamiento especificado, utilizando un formato especial de orden de bytes endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset podría sobrepasar el final del buffer. El valor predeterminado es false. |
| 23 | buf.readUInt16BE(offset[, noAssert]) Lee un entero sin signo de 16 bits según el desplazamiento especificado, utilizando un formato especial de orden de bytes endian, en orden big-endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset podría sobrepasar el final del buffer. El valor predeterminado es false. |
| 24 | buf.readUInt32LE(offset[, noAssert]) Lee un entero sin signo de 32 bits según el desplazamiento especificado, utilizando el formato de orden de bytes endian especificado, en orden little-endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset podría sobrepasar el final del buffer. El valor predeterminado es false. |
| 25 | buf.readUInt32BE(offset[, noAssert]) Lee un entero sin signo de 32 bits según el desplazamiento especificado, utilizando el formato de orden de bytes endian especificado, en orden big-endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset podría sobrepasar el final del buffer. El valor predeterminado es false. |
| 26 | buf.readInt8(offset[, noAssert]) Lee un entero con signo de 8 bits según el desplazamiento especificado. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset podría sobrepasar el final del buffer. El valor predeterminado es false. |
| 27 | buf.readInt16LE(offset[, noAssert]) Lee un entero con signo de 16 bits según el desplazamiento especificado, utilizando un formato endian especial, en orden little-endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset podría sobrepasar el final del buffer. El valor predeterminado es false. |
| 28 | buf.readInt16BE(offset[, noAssert]) Lee un entero con signo de 16 bits según el desplazamiento especificado, utilizando un formato endian especial, en orden big-endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset podría sobrepasar el final del buffer. El valor predeterminado es false. |
| 29 | buf.readInt32LE(offset[, noAssert]) Lee un entero de 32 bits con signo según el desplazamiento especificado, utilizando el formato de orden de bytes endian especificado, en little-endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset puede exceder el final del buffer. El valor predeterminado es false. |
| 30 | buf.readInt32BE(offset[, noAssert]) Lee un entero de 32 bits con signo según el desplazamiento especificado, utilizando el formato de orden de bytes endian especificado, en big-endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset puede exceder el final del buffer. El valor predeterminado es false. |
| 31 | buf.readFloatLE(offset[, noAssert]) Lee un número de punto flotante doble de 32 bits según el desplazamiento especificado, utilizando el formato de orden de bytes endian especificado, en little-endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset puede exceder el final del buffer. El valor predeterminado es false. |
| 32 | buf.readFloatBE(offset[, noAssert]) Lee un número de punto flotante doble de 32 bits según el desplazamiento especificado, utilizando el formato de orden de bytes endian especificado, en big-endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset puede exceder el final del buffer. El valor predeterminado es false. |
| 33 | buf.readDoubleLE(offset[, noAssert]) Lee un número de doble precisión de 64 bits según el desplazamiento especificado, utilizando el formato de orden de bytes endian especificado, en little-endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset puede exceder el final del buffer. El valor predeterminado es false. |
| 34 | buf.readDoubleBE(offset[, noAssert]) Lee un número de doble precisión de 64 bits según el desplazamiento especificado, utilizando el formato de orden de bytes endian especificado, en big-endian. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que offset puede exceder el final del buffer. El valor predeterminado es false. |
| 35 | buf.writeUInt8(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado. Nota: value debe ser un entero sin signo válido de 8 bits. Si el parámetro noAssert es true, no se validará el parámetro de desplazamiento offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, no lo uses. El valor predeterminado es false. |
| 36 | buf.writeUInt16LE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado. Nota: value debe ser un entero sin signo válido de 16 bits, en formato little-endian. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 37 | buf.writeUInt16BE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado. Nota: value debe ser un entero sin signo válido de 16 bits, en formato big-endian. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 38 | buf.writeUInt32LE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado (LITTLE-ENDIAN: orden de bytes little-endian). Nota: value debe ser un entero sin signo válido de 32 bits, en formato little-endian. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 39 | buf.writeUInt32BE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado (Big-Endian: orden de bytes big-endian). Nota: value debe ser un entero con signo válido de 32 bits. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 40 | buf.writeInt8(value, offset[, noAssert]) |
| 41 | buf.writeInt16LE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado. Nota: value debe ser un entero con signo válido de 16 bits. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 42 | buf.writeInt16BE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado. Nota: value debe ser un entero con signo válido de 16 bits. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 43 | buf.writeInt32LE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado. Nota: value debe ser un entero con signo válido de 32 bits. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 44 | buf.writeInt32BE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado. Nota: value debe ser un entero con signo válido de 32 bits. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 45 | buf.writeFloatLE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado. Nota: cuando value no es un valor de tipo número de punto flotante de 32 bits, el resultado será indeterminado. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 46 | buf.writeFloatBE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado. Nota: cuando value no es un valor de tipo número de punto flotante de 32 bits, el resultado será indeterminado. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 47 | buf.writeDoubleLE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado. Nota: value debe ser un valor válido de tipo double de 64 bits. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 48 | buf.writeDoubleBE(value, offset[, noAssert]) Escribe value en el buffer según el desplazamiento offset proporcionado y el formato endian especificado. Nota: value debe ser un valor válido de tipo double de 64 bits. Si el parámetro noAssert es true, no se validarán los parámetros value y offset. Esto significa que value puede ser demasiado grande, o que offset puede exceder el final del buffer, lo que provocaría que value se descarte. A menos que estés muy seguro de este parámetro, trata de no usarlo. El valor predeterminado es false. |
| 49 | buf.fill(value[, offset][, end]) Rellena este buffer con el valor value especificado. Si no se especifican offset (el valor predeterminado es 0) y end (el valor predeterminado es buffer.length), se rellenará todo el buffer. |