登录
首页 >  文章 >  前端

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

来源:dev.to

时间:2024-10-16 12:25:00 491浏览 收藏

怎么入门文章编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《LZ C++ React Native 绑定,实现极快的压缩算法》,涉及到,有需要的可以收藏一下

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

我最近开始涉足 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 }


以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>