Heim >Web-Frontend >js-Tutorial >LZ C React Native-Bindungen für einen extrem schnellen Komprimierungsalgorithmus

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

DDD
DDDOriginal
2024-10-07 06:22:02914Durchsuche

LZ C   React Native bindings for an extremely fast compression algorithm

Ich habe mich in letzter Zeit intensiv mit JSI und C beschäftigt und als Ergebnis konnte 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 alte als auch neue Architekturen 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 }


Das obige ist der detaillierte Inhalt vonLZ C React Native-Bindungen für einen extrem schnellen Komprimierungsalgorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn