PHP前端开发

LZ C++ React Native 绑定,实现极快的压缩算法

百变鹏仔 3天前 #JavaScript
文章标签 绑定

我最近开始涉足 jsi 和 c++++,因此,我必须构建一个名为react-native-lz4 的小包。它是一个在 react native 中使用 c 语言编写的 lz4 算法进行快速文件压缩的​​库。

它仍处于实验阶段,因为我仍在完善错误处理并扩展其 api,但它已经可以使用(谨慎!)

软件包:https://github.com/mateoguzmana/react-native-lz4
您可以在其网站上了解有关 lz4 的更多信息:https://lz4.org/

该包支持新旧架构,目前公开了两个主要功能来压缩和解压缩任何类型的文件。

基本示例:

立即学习“C++免费学习笔记(深入)”;

点击下载“嗨格式压缩大师”;

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 }