Maison  >  Article  >  interface Web  >  Liaisons LZ C React Native pour un algorithme de compression extrêmement rapide

Liaisons LZ C React Native pour un algorithme de compression extrêmement rapide

DDD
DDDoriginal
2024-10-07 06:22:02763parcourir

LZ C   React Native bindings for an extremely fast compression algorithm

Je me suis plongé dans JSI et C ces derniers temps et, par conséquent, j'ai pu créer un petit package appelé React-native-lz4. C'est une bibliothèque pour une compression rapide de fichiers dans React Native en utilisant l'algorithme LZ4 écrit en C.

Il est encore expérimental car je suis encore en train de peaufiner la gestion des erreurs et d'étendre son API mais il peut déjà être utilisé (avec prudence !)

Package : https://github.com/mateoguzmana/react-native-lz4
Vous pouvez en savoir plus sur LZ4 sur son site internet : https://lz4.org/

Le package prend en charge à la fois l'ancienne et la nouvelle architecture et expose actuellement deux fonctions principales pour compresser et décompresser tout type de fichier.

Exemple de base :


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 }


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn