<p align="center"><img src="https://brotli.org/brotli.svg" alt="Brotli" width="64"></p>
# SECURITY NOTE
Please consider updating brotli to version 1.0.9 (latest).
Version 1.0.9 contains a fix to "integer overflow" problem. This happens when "one-shot" decoding API is used (or input chunk for streaming API is not limited), input size (chunk size) is larger than 2GiB, and input contains uncompressed blocks. After the overflow happens, `memcpy` is invoked with a gigantic `num` value, that will likely cause the crash.
### Introduction
Brotli is a generic-purpose lossless compression algorithm that compresses data
using a combination of a modern variant of the LZ77 algorithm, Huffman coding
and 2nd order context modeling, with a compression ratio comparable to the best
currently available general-purpose compression methods. It is similar in speed
with deflate but offers more dense compression.
The specification of the Brotli Compressed Data Format is defined in [RFC 7932](https://tools.ietf.org/html/rfc7932).
Brotli is open-sourced under the MIT License, see the LICENSE file.
Brotli mailing list:
https://groups.google.com/forum/#!forum/brotli
[![TravisCI Build Status](https://travis-ci.org/google/brotli.svg?branch=master)](https://travis-ci.org/google/brotli)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/google/brotli?branch=master&svg=true)](https://ci.appveyor.com/project/szabadka/brotli)
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/brotli.svg)](https://oss-fuzz-build-logs.storage.googleapis.com/index.html#brotli)
### Build instructions
#### Vcpkg
You can download and install brotli using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
vcpkg install brotli
The brotli port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
#### Autotools-style CMake
[configure-cmake](https://github.com/nemequ/configure-cmake) is an
autotools-style configure script for CMake-based projects (not supported on Windows).
The basic commands to build, test and install brotli are:
$ mkdir out && cd out
$ ../configure-cmake
$ make
$ make test
$ make install
By default, debug binaries are built. To generate "release" `Makefile` specify `--disable-debug` option to `configure-cmake`.
#### Bazel
See [Bazel](http://www.bazel.build/)
#### CMake
The basic commands to build and install brotli are:
$ mkdir out && cd out
$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./installed ..
$ cmake --build . --config Release --target install
You can use other [CMake](https://cmake.org/) configuration.
#### Premake5
See [Premake5](https://premake.github.io/)
#### Python
To install the latest release of the Python module, run the following:
$ pip install brotli
To install the tip-of-the-tree version, run:
$ pip install --upgrade git+https://github.com/google/brotli
See the [Python readme](python/README.md) for more details on installing
from source, development, and testing.
### Benchmarks
* [Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/) / [Unstable Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/unstable/)
* [Large Text Compression Benchmark](http://mattmahoney.net/dc/text.html)
* [Lzturbo Benchmark](https://sites.google.com/site/powturbo/home/benchmark)
### Related projects
> **Disclaimer:** Brotli authors take no responsibility for the third party projects mentioned in this section.
Independent [decoder](https://github.com/madler/brotli) implementation by Mark Adler, based entirely on format specification.
JavaScript port of brotli [decoder](https://github.com/devongovett/brotli.js). Could be used directly via `npm install brotli`
Hand ported [decoder / encoder](https://github.com/dominikhlbg/BrotliHaxe) in haxe by Dominik Homberger. Output source code: JavaScript, PHP, Python, Java and C#
7Zip [plugin](https://github.com/mcmilk/7-Zip-Zstd)
Dart [native bindings](https://github.com/thosakwe/brotli)
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
brotli-1.0.9 (135个子文件)
brotli.1 4KB
encode.h.3 21KB
decode.h.3 14KB
types.h.3 3KB
constants.h.3 2KB
configure.ac 321B
Makefile.am 1KB
bootstrap 1KB
BUILD 3KB
compiler_config_setting.bzl 1KB
dictionary.c 461KB
dictionary_hash.c 144KB
decode.c 91KB
encode.c 72KB
brotli_bit_stream.c 48KB
brotli.c 36KB
backward_references_hq.c 32KB
compress_fragment.c 32KB
metablock.c 26KB
compress_fragment_two_pass.c 25KB
static_dict.c 19KB
entropy_encode.c 14KB
huffman.c 12KB
transform.c 10KB
context.c 8KB
block_splitter.c 6KB
fast_log.c 6KB
literal_cost.c 5KB
memory.c 5KB
state.c 5KB
backward_references.c 4KB
histogram.c 3KB
utf8_util.c 2KB
bit_reader.c 2KB
cluster.c 1KB
command.c 1021B
encoder_dict.c 949B
bit_cost.c 824B
constants.c 623B
platform.c 514B
_brotli.cc 23KB
setup.cfg 53B
run-roundtrip-test.cmake 1KB
run-compatibility-test.cmake 1KB
ukkonooa.compressed 69B
empty.compressed 1B
configure 425B
configure-cmake 11KB
empty 0B
static_dict_lut.h 459KB
entropy_encode_static.h 32KB
prefix.h 31KB
platform.h 21KB
encode.h 17KB
block_splitter_inc.h 16KB
hash.h 15KB
decode.h 14KB
hash_to_binary_tree_inc.h 13KB
bit_reader.h 12KB
cluster_inc.h 11KB
state.h 11KB
hash_forgetful_chain_inc.h 11KB
port.h 10KB
hash_longest_match64_inc.h 10KB
hash_longest_match_inc.h 10KB
hash_longest_match_quickly_inc.h 9KB
constants.h 8KB
metablock_inc.h 7KB
hash_rolling_inc.h 7KB
backward_references_inc.h 7KB
command.h 7KB
quality.h 6KB
ringbuffer.h 6KB
context.h 5KB
hash_composite_inc.h 4KB
bit_cost_inc.h 4KB
huffman.h 4KB
entropy_encode.h 4KB
metablock.h 4KB
backward_references_hq.h 4KB
memory.h 4KB
brotli_bit_stream.h 3KB
transform.h 3KB
write_bits.h 3KB
compress_fragment.h 3KB
types.h 3KB
find_match_length.h 2KB
compress_fragment_two_pass.h 2KB
prefix.h 2KB
dictionary.h 2KB
histogram.h 2KB
bit_cost.h 2KB
block_splitter.h 2KB
fast_log.h 2KB
histogram_inc.h 1KB
backward_references.h 1KB
static_dict.h 1KB
encoder_dict.h 1KB
params.h 1KB
block_encoder_inc.h 1KB
共 135 条
- 1
- 2
资源评论
maomaoyusp
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 三菱PLC例程源码Medocsequencegenerator
- 三菱PLC例程源码M1320磨头进出FX1s控制步进电机,有注释
- STRASSEN矩阵乘法算法(改进分治法·C语言)
- 前端.xmind前端.xmind前端.xmind前端.xmind前端.xmind
- 三菱PLC例程源码LOW-E玻璃镀膜线程序(三菱QPLC的)一万步带注释
- 三菱PLC例程源码LCD设备蚀刻机程序
- 三菱PLC例程源码LCD设备蚀刻机
- 全面前端开发指南:从基础到深入
- pvk2pfx 32位 Pvk2Pfx (Pvk2Pfx.exe) 是一种命令行工具,可将 .spc、.cer 和 .pvk 文
- 三菱PLC例程源码JH21-150程序
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功