「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > LZ C++ React Native バインディングによる非常に高速な圧縮アルゴリズム

LZ C++ React Native バインディングによる非常に高速な圧縮アルゴリズム

2024 年 11 月 8 日に公開
ブラウズ:120

LZ C   React Native bindings for an extremely fast compression algorithm

私は最近 JSI と C に少しずつ足を突っ込んでおり、その結果、react-native-lz4 という小さなパッケージを構築することになりました。これは、C で書かれた LZ4 アルゴリズムを使用した React Native での高速ファイル圧縮のためのライブラリです。

これはまだ実験段階であり、エラー処理と API の拡張をまだ改良中ですが、すでに使用できます (注意してください!)

パッケージ: https://github.com/mateoguzmana/react-native-lz4
LZ4 について詳しくは、Web サイト https://lz4.org/

をご覧ください。

このパッケージは古いアーキテクチャと新しいアーキテクチャの両方をサポートしており、現在、あらゆる種類のファイルを圧縮および解凍するための 2 つの主要な関数を公開しています。

基本的な例:


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 侵害がある場合は、study_golang にご連絡ください。 @163.com 削除
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3