原生JS的GZIP压缩解压缩API

Compression Stream API

Compression Stream API 提供了一种 JavaScript API,使用 gzip 或者默认格式压缩和解压缩数据流。 内置的压缩库意味着 JavaScript 应用不再需要包含其它压缩库,这使得应用程序的下载大小更小。

之前一直使用的是 pako 库的gzip压缩解压缩。今天逛MDN时,突然发现了这个原生API,也不知道是什么时候出现的。

1. CompressionStream:用于将数据流进行压缩的对象。它接收未经压缩的数据,并生成经过压缩的数据流。

2. DecompressionStream:用于将数据流进行解压缩的对象。它接收经过压缩的数据流,并生成未经压缩的数据。

const sourceData = new TextEncoder().encode("This is the source data");
const compressionStream = new CompressionStream("gzip");
const writableStream = new WritableStream();
const writer = writableStream.getWriter();
sourceData
  .pipeThrough(compressionStream)
  .pipeTo(writableStream);
writer.closed.then(() => {
  // 压缩后的数据写入完成
  console.log("Compression completed.");
});

文档尚不健全,可查资料较少,用法日后补充。

 

 

2023-08-31 11:50:44 206 0

参与讨论

选择你的头像