首頁  >  文章  >  web前端  >  LZ C React Native 綁定用於極快的壓縮演算法

LZ C React Native 綁定用於極快的壓縮演算法

DDD
DDD原創
2024-10-07 06:22:02763瀏覽

LZ C   React Native bindings for an extremely fast compression algorithm

我最近開始涉足 JSI 和 C,因此,我必須建立一個名為react-native-lz4 的小包。它是一個在 React Native 中使用 C 語言編寫的 LZ4 演算法進行快速檔案壓縮的函式庫。

它仍處於實驗階段,因為我仍在完善錯誤處理並擴展其 API,但它已經可以使用(謹慎!)

軟體包:https://github.com/mateoguzmana/react-native-lz4
您可以在其網站上了解更多有關 LZ4 的資訊:https://lz4.org/

該套件支援新舊架構,目前公開了兩個主要功能來壓縮和解壓縮任何類型的檔案。

基本範例:


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 }


以上是LZ C React Native 綁定用於極快的壓縮演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn