」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > LZ C++ React Native 綁定,實現極快的壓縮演算法

LZ C++ React Native 綁定,實現極快的壓縮演算法

發佈於2024-11-08
瀏覽:443

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 }


版本聲明 本文轉載於:https://dev.to/mateoguzmana/lz4-c-react-native-bindings-for-an-extremely-fast-compression-algorithm-6jh?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3