Zum Inhalt springen

node:buffer

Node-kompatibler Buffer und Hilfsfunktionen für Binärdaten.

Auf dieser Seite
Open in ChatGPTOpen in Claude

globalThis.Buffer und der Export Buffer aus node:buffer sind identisch. Buffer sind Uint8Array-Instanzen mit indiziertem Zugriff und einem stabilen zugrunde liegenden ArrayBuffer.

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

Verwenden Sie Buffer.alloc, Buffer.allocUnsafe, Buffer.allocUnsafeSlow und Buffer.from, um Buffer zu erstellen. Der Aufruf von Buffer() oder new Buffer() funktioniert aus Kompatibilitätsgründen weiterhin, gibt aber eine Veraltungswarnung aus.

Gängige Node-Operationen sind verfügbar, darunter compare, copy, equals, fill, includes, indexOf, slice, subarray, write, numerisches Lesen und Schreiben mit fester und variabler Breite, BigInt-Lesen und -Schreiben sowie Byte-Vertauschungen.

Unterstützte Kodierungen sind utf8, utf16le, latin1, ascii, base64, base64url und hex. utf16be wird nicht akzeptiert.

node:buffer exportiert außerdem Blob, File, SlowBuffer, atob, btoa, isAscii, isUtf8, transcode, Größenkonstanten und verwandte Hilfsfunktionen.

Anders als in Node geben die allocUnsafe-Implementierungen von Elide mit Nullen gefüllten Speicher zurück, statt zuvor verwendete Bytes offenzulegen.

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.

War diese Seite hilfreich?