zcodec 0.2.2 copy "zcodec: ^0.2.2" to clipboard
zcodec: ^0.2.2 copied to clipboard

Dependency-free pure Dart codecs for DEFLATE, zlib, GZIP, TAR, and ZIP data.

example/main.dart

import 'dart:convert';
import 'dart:typed_data';

import 'package:zcodec/zcodec.dart';

/// Demonstrates zlib, TAR/GZIP, and ZIP round trips.
void main() {
  const ZlibCodec zlib = ZlibCodec();
  final List<int> message = utf8.encode('Hello ZCodec');
  final List<int> compressed = zlib.encode(message);
  print(utf8.decode(zlib.decode(compressed)));

  // TAR carries no compression of its own, so `.tar.gz` is TAR fused with GZIP.
  final Codec<TarArchive, List<int>> tarGzip = const TarCodec().fuse(const GzipCodec(header: GzipHeader(name: 'hello.tar')));
  final List<int> archiveBytes = tarGzip.encode(
    TarArchive(
      entries: <TarEntry>[TarEntry(name: 'hello.txt', data: message)],
    ),
  );
  print(utf8.decode(tarGzip.decode(archiveBytes).find('hello.txt')!.data));

  const ZipCodec zip = ZipCodec();
  final Uint8List zipBytes = zip.encode(
    ZipArchive(
      entries: <ZipEntry>[ZipEntry(name: 'hello.txt', data: message)],
    ),
  );
  print(utf8.decode(zip.decode(zipBytes).find('hello.txt')!.data));
}
0
likes
160
points
310
downloads
screenshot

Documentation

API reference

Publisher

verified publisherfocale-editor.app

Weekly Downloads

Dependency-free pure Dart codecs for DEFLATE, zlib, GZIP, TAR, and ZIP data.

Repository (GitHub)
View/report issues
Contributing

Topics

#compression #archive #zip #gzip #codec

License

MIT (license)

More

Packages that depend on zcodec