WOOT2中使用的Brotli压缩算法的JavaScript端口

・2 分钟阅读

  • 源代码名称: brotli.js
  • 源代码网址: https://www.github.com/devongovett/brotli.js
  • brotli.js的文档
  • brotli.js的源代码下载
  • Git URL:
    git://www.github.com/devongovett/brotli.js.git
  • Git Clone代码到本地:
    git clone https://www.github.com/devongovett/brotli.js
  • Subversion代码到本地:
    $ svn co --depth empty https://www.github.com/devongovett/brotli.js
                              Checked out revision 1.
                              $ cd repo
                              $ svn up trunk
              
  • Brotli.js

    Brotli.js的Brotli 压缩算法( 在 WOFF2 字体格式中使用) 到JavaScript的port。 解压缩器是手动移植的,压缩器是用Emscripten移植的。

    安装和使用

    使用npm安装。

    
    npm install brotli
    
    
    
    

    如果要在浏览器中使用 brotli,则应使用 Browserify插件来构建它。

    在 node 中或者browserify中,可以按标准方式加载 brotli:

    var brotli =require('brotli');

    你只需要 decompress 函数或者 compress 函数,这对于browserify构建非常有用。 例如这里只需要 decompress 函数。

    var decompress =require('brotli/decompress');

    API

    brotli.decompress(buffer, [outSize] )

    outSize 参数是可选的,如果未提供,则由解压缩器计算。

    // decode a buffer where the output size is knownbrotli.decompress(compressedData, uncompressedLength);// decode a buffer where the output size is not knownbrotli.decompress(fs.readFileSync('compressed.bin'));

    brotli.compress(buffer, isText = false )

    压缩给定的缓冲区。将可选参数作为第二个参数传递。

    // encode a buffer of binary databrotli.compress(fs.readFileSync('myfile.bin'));// encode some data with options (default options shown)brotli.compress(fs.readFileSync('myfile.bin'), {
     mode:0, // 0 = generic, 1 = text, 2 = font (WOFF2) quality:11, // 0 - 11 lgwin:22// window size});

    许可证

    MIT

    讨论
    Fansisi profile image