"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Enlaces LZ C++ React Native para un algoritmo de compresión extremadamente rápido

Enlaces LZ C++ React Native para un algoritmo de compresión extremadamente rápido

Publicado el 2024-11-08
Navegar:660

LZ C   React Native bindings for an extremely fast compression algorithm

Últimamente he estado sumergiéndome en JSI y C y, como resultado, pude crear un pequeño paquete llamado react-native-lz4. Es una biblioteca para la compresión rápida de archivos en React Native utilizando el algoritmo LZ4 escrito en C.

Aún es experimental ya que todavía estoy puliendo el manejo de errores y ampliando su API, pero ya se puede usar (¡con precaución!)

Paquete: https://github.com/mateoguzmana/react-native-lz4
Puedes conocer más sobre LZ4 en su sitio web: https://lz4.org/

El paquete admite arquitectura nueva y antigua, y actualmente expone dos funciones principales para comprimir y descomprimir cualquier tipo de archivo.

Ejemplo básico:


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 }


Declaración de liberación Este artículo se reproduce en: https://dev.to/mateoguzmana/lz4-c-react-native-bindings-for-an-extremely-fast-compression-algorithm-6jh?1 Si hay alguna infracción, comuníquese con Study_golang @163.com eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3