Saltar al contenido

node:buffer

Buffer y auxiliares de datos binarios compatibles con Node.

En esta página
Open in ChatGPTOpen in Claude

globalThis.Buffer y la exportación Buffer de node:buffer son el mismo objeto. Los buffers son instancias de Uint8Array con acceso indexado y un ArrayBuffer subyacente estable.

import { Buffer } from "node:buffer";

const bytes = Buffer.from("hello", "utf8");
console.log(bytes[0]); // 104
console.log(bytes.toString("hex")); // 68656c6c6f
console.log(bytes instanceof Uint8Array); // true

Use Buffer.alloc, Buffer.allocUnsafe, Buffer.allocUnsafeSlow y Buffer.from para crear buffers. Llamar a Buffer() o new Buffer() sigue funcionando por compatibilidad, pero emite una advertencia de obsolescencia.

Están disponibles las operaciones habituales de Node, incluidas compare, copy, equals, fill, includes, indexOf, slice, subarray, write, lecturas/escrituras numéricas de ancho fijo y variable, lecturas/escrituras de BigInt e intercambios de bytes.

Las codificaciones admitidas incluyen utf8, utf16le, latin1, ascii, base64, base64url y hex. No se acepta utf16be.

node:buffer también exporta Blob, File, SlowBuffer, atob, btoa, isAscii, isUtf8, transcode, constantes de tamaño y auxiliares relacionados.

A diferencia de Node, las implementaciones de allocUnsafe de Elide devuelven memoria rellenada con ceros en lugar de exponer bytes usados anteriormente.

Reference

Status: Full · 56 of 62 suite tests pass (90.3%) · since 1.1.0

Exports

ExportKindStatusNotes
BufferclassFullBuffer.alloc(), Buffer.allocUnsafe(), Buffer.allocUnsafeSlow(), Buffer.from(), Buffer.isBuffer(), Buffer.isEncoding(), Buffer.byteLength(), Buffer.concat(), Buffer.compare(), length, buffer, byteOffset, compare(), copy(), equals(), fill(), includes(), indexOf(), lastIndexOf(), slice(), subarray(), write(), toString(), toJSON(), readUInt8(), readUInt16BE(), readUInt16LE(), readUInt32BE(), readUInt32LE(), readInt8(), readInt16BE(), readInt16LE(), readInt32BE(), readInt32LE(), readUIntBE(), readUIntLE(), readIntBE(), readIntLE(), readFloatBE(), readFloatLE(), readDoubleBE(), readDoubleLE(), writeUInt8(), writeUInt16BE(), writeUInt16LE(), writeUInt32BE(), writeUInt32LE(), writeInt8(), writeInt16BE(), writeInt16LE(), writeInt32BE(), writeInt32LE(), writeUIntBE(), writeUIntLE(), writeIntBE(), writeIntLE(), writeFloatBE(), writeFloatLE(), writeDoubleBE(), writeDoubleLE(), swap16(), swap32(), swap64()
atob()functionFullDecodes a base64-encoded ASCII string into a Latin-1 string
btoa()functionFullEncodes a Latin-1 string as base64 ASCII
isAscii()functionFullReturns true if every byte’s high bit is clear (the input contains only 7-bit ASCII)
isUtf8()functionFullReturns true if the bytes form a structurally valid UTF-8 sequence (no overlong forms, surrogates, or…
kMaxLengthpropertyFullLargest buffer size representable as a 32-bit JS integer (2^31 - 1)
kStringMaxLengthpropertyFullLargest string length the runtime will allocate (2^31 - 1)

Tests: node-api node:buffer: 56 pass, 6 fail, 0 error, 7 skipped. Failing: test-buffer-alloc.js, test-buffer-constructor-node-modules-paths.js, test-buffer-constructor-node-modules.js, test-buffer-constructor-outside-node-modules.js, test-buffer-indexof.js, test-buffer-pool-untransferable.js.

¿Te resultó útil esta página?