Rumah  >  Artikel  >  hujung hadapan web  >  Pengikatan LZ C React Native untuk algoritma pemampatan yang sangat pantas

Pengikatan LZ C React Native untuk algoritma pemampatan yang sangat pantas

DDD
DDDasal
2024-10-07 06:22:02768semak imbas

LZ C   React Native bindings for an extremely fast compression algorithm

Saya telah mencelupkan jari kaki saya ke dalam JSI dan C sejak kebelakangan ini dan, akibatnya, saya terpaksa membina pakej kecil yang dipanggil react-native-lz4. Ia adalah perpustakaan untuk pemampatan fail pantas dalam React Native menggunakan algoritma LZ4 yang ditulis dalam C.

Ia masih dalam percubaan kerana saya masih menggilap pengendalian ralat dan memanjangkan APInya tetapi ia sudah boleh digunakan (dengan berhati-hati!)

Pakej: https://github.com/mateoguzmana/react-native-lz4
Anda boleh mengetahui lebih lanjut tentang LZ4 di tapak webnya: https://lz4.org/

Pakej ini menyokong seni bina lama dan baharu, dan pada masa ini mendedahkan dua fungsi utama untuk memampatkan dan menyahmampat sebarang jenis fail.

Contoh asas:


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 }


Atas ialah kandungan terperinci Pengikatan LZ C React Native untuk algoritma pemampatan yang sangat pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn