„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > LZ C++ React Native-Bindungen für einen extrem schnellen Komprimierungsalgorithmus

LZ C++ React Native-Bindungen für einen extrem schnellen Komprimierungsalgorithmus

Veröffentlicht am 08.11.2024
Durchsuche:990

LZ C   React Native bindings for an extremely fast compression algorithm

Ich habe mich in letzter Zeit mit JSI und C beschäftigt und als Ergebnis musste ich ein kleines Paket namens „react-native-lz4“ erstellen. Es handelt sich um eine Bibliothek für die schnelle Dateikomprimierung in React Native unter Verwendung des in C geschriebenen LZ4-Algorithmus.

Es ist noch experimentell, da ich noch an der Fehlerbehandlung arbeite und die API erweitere, aber es kann bereits verwendet werden (mit Vorsicht!)

Paket: https://github.com/mateoguzmana/react-native-lz4
Mehr über LZ4 erfahren Sie auf der Website: https://lz4.org/

Das Paket unterstützt sowohl die alte als auch die neue Architektur und stellt derzeit zwei Hauptfunktionen zum Komprimieren und Dekomprimieren beliebiger Dateitypen bereit.

Grundlegendes Beispiel:


import { compressFile, decompressFile } from 'react-native-lz4';

function onProgress(processedSize: number, totalSize: number) {
  // e.g. { processedSize: 50, totalSize: 100, progress: '50%' }
  console.log({
    processedSize,
    totalSize,
    progress: `${Math.round((processedSize / totalSize) * 100)}%`,
  });
}

const compressionResult = await compressFile(
  'path/to/file',
  'path/to/output',
  onProgress
);
const decompressionResult = await decompressFile(
  'path/to/file',
  'path/to/output',
  onProgress
);

console.log(compressionResult);
// { success: true, message: 'File compressed successfully', originalSize: 100, finalSize: 50 }

console.log(decompressionResult);
// { success: true, message: 'File decompressed successfully', originalSize: 50, finalSize: 100 }


Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/mateoguzmana/lz4-c-react-native-bindings-for-an-extremely-fast-compression-algorithm-6jh?1 Bei Verstößen wenden Sie sich bitte an Study_golang @163.com löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3