NodeJS: Wie man brotliCompress/brotliDecompress mit Promises verwendet

brotli_promises.js
import { brotliCompress as _brotliCompress, brotliDecompress as _brotliDecompress } from "zlib";
import { promisify } from "util";

const brotliCompress = promisify(_brotliCompress);
const brotliDecompress = promisify(_brotliDecompress);

Verwendungsbeispiel

brotli_usage_example.js
import { brotliCompress as _brotliCompress, brotliDecompress as _brotliDecompress } from 'zlib';
import { promisify } from 'util';

// Brotli-Komprimierungs- und Dekomprimierungsfunktionen promisifizieren
const brotliCompress = promisify(_brotliCompress);
const brotliDecompress = promisify(_brotliDecompress);

async function compressAndDecompress() {
  try {
    // Beispiel-String zum Komprimieren
    const stringToCompress = "This is a sample string to be compressed using Brotli in Node.js";

    // String in Buffer umwandeln
    const bufferToCompress = Buffer.from(stringToCompress, 'utf-8');

    // Buffer mit Brotli komprimieren
    const compressedBuffer = await brotliCompress(bufferToCompress);
    console.log('Komprimierter Buffer:', compressedBuffer);

    // Optional: Komprimierten Buffer in Base64-String umwandeln zur Anzeige
    const compressedString = compressedBuffer.toString('base64');
    console.log('Komprimierter String (Base64):', compressedString);

    // Buffer mit Brotli dekomprimieren
    const decompressedBuffer = await brotliDecompress(compressedBuffer);
    const decompressedString = decompressedBuffer.toString('utf-8');
    console.log('Dekomprimierter String:', decompressedString);
  } catch (err) {
    console.error('Fehler bei Komprimierung/Dekomprimierung:', err);
  }
}

// Funktion aufrufen
compressAndDecompress();

Check out similar posts by category: NodeJS, Javascript