The zstandard_linux package provides a Linux-specific implementation of the Zstandard compression library for Flutter applications. It enables efficient, high-performance compression and decompression of data directly within Linux-based Flutter apps. Built for compatibility with the Zstandard algorithm, it offers fast speeds and strong compression ratios. The package is designed to integrate seamlessly into Flutter projects targeting Linux platforms, leveraging native C bindings for optimal performance. It supports common use cases involving file compression, data transmission, and storage optimization on Linux systems.
適用情境
Compressing large files on Linux
Optimizing data transfer in Linux apps
Reducing storage usage in desktop Flutter apps
High-speed compression for real-time data processing
Efficient backup and archive handling
主要特色
Native Zstandard integration on Linux
High compression speed and ratio
Seamless Flutter plugin interface
Minimal overhead with C bindings
Platform-specific optimization for Linux
適合對象
Linux desktop Flutter developers
Applications requiring fast compression
Data-intensive Linux desktop tools
Performance-critical compression tasks
Projects using Zstandard algorithm
使用建議
Limited to Linux platform only
Requires native compilation setup
May need additional system dependencies
Not compatible with mobile or web platforms
Dependent on stable Zstandard library versions
原始 README
以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。
Zstandard
Zstandard (zstd) is a fast, high-compression algorithm developed by Meta (formerly Facebook) designed for real-time compression scenarios. It offers a flexible range of compression levels, allowing both high-speed and high-ratio compression, making it ideal for applications with diverse performance needs. Zstandard is widely used in data storage, transmission, and backup solutions.
This repository contains a federated Flutter plugin and a CLI package for zstandard compression, enabling both in-app and command-line usage. The two main components are:
zstandard: A Flutter plugin for cross-platform compression, supporting mobile, desktop, and web platforms. This package integrates the zstd library through FFI for native platforms and WebAssembly for the web, allowing efficient data compression in any Flutter environment.
zstandard_cli: A pure Dart package providing CLI capabilities for macOS, Windows, and Linux. It enables command-line compression and decompression for data files and streams.
Native platform packages and the CLI share the zstd C source and FFI bindings via the zstandard_native package (zstandard_native/src/zstd/). zstandard_native is published to pub.dev as part of this repo’s release set, so a single copy is used whether you depend on the plugin from the repo or from pub.dev.
# Compress a file with a specified compression level
dart run zstandard_cli:compress --level 3 myfile.txt
# Decompress a file
dart run zstandard_cli:decompress myfile.txt.zstd
Dart Code Example (CLI)
import'package:zstandard_cli/zstandard_cli.dart';
voidmain() async {
var cli = ZstandardCLI();
final originalData = Uint8List.fromList([...]);
final compressed = await cli.compress(originalData, compressionLevel: 3);
final decompressed = await cli.decompress(compressed ?? Uint8List(0));
}
Using extensions in Dart:
import'package:zstandard_cli/zstandard_cli.dart';
voidmain() async {
final originalData = Uint8List.fromList([...]);
final compressed = await originalData.compress(compressionLevel: 3);
final decompressed = await compressed.decompress();
}