«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Привязки LZ C++ React Native для чрезвычайно быстрого алгоритма сжатия

Привязки LZ C++ React Native для чрезвычайно быстрого алгоритма сжатия

Опубликовано 8 ноября 2024 г.
Просматривать:172

LZ C   React Native bindings for an extremely fast compression algorithm

В последнее время я окунулся в JSI и C, и в результате мне пришлось собрать небольшой пакет под названием response-native-lz4. Это библиотека для быстрого сжатия файлов в React Native с использованием алгоритма LZ4, написанного на C.

Он все еще находится в стадии эксперимента, поскольку я все еще совершенствую обработку ошибок и расширяю его 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 Если есть какие-либо нарушения, свяжитесь с Study_golang. @163.com удалить
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3