Brotli

Brotli是一个Jyrki Alakuijala和Zoltán Szabadka英语Zoltán Szabadka开发的开源数据压缩程序库[5][6]Brotli基于LZ77算法的一个现代变体、霍夫曼编码和二阶上下文建模英语Context_modeling

Brotli
Brotli
开发者Jyrki Alakuijala和Zoltán Szabadka
当前版本
  • 1.0.9 (2020年8月27日)[1]
编辑维基数据链接
源代码库 编辑维基数据链接
编程语言C[2][a]
许可协议
  • MIT许可证
编辑维基数据链接
网站github.com/google/brotli 编辑维基数据

ChromeOperaFirefox中,它已被用于加速万维网的传输速度。[7]类似Google的压缩算法zopfli,brotli这个名字来自瑞士的烘培产品brötli英语Spanisch_Brötli[8]

演变

Brotli最初发布于2015年,用于网络字体的离线压缩。[9]Google软件工程师在2015年9月发布了包含通用无损数据压缩的Brotli增强版本,特别侧重于HTTP压缩。其中的编码器被部分改写以提高压缩比,编码器和解码器都提高了速度,流式API已被改进,增加更多压缩质量级别。新版本还展现了跨平台的性能改进,以及减少解码所需的内存。[8]

与常见的通用压缩算法不同,Brotli使用一个预定义的120千字节字典。该字典包含超过13000个常用单词、短语和其他子字符串,这些来自一个文本和HTML文档的大型语料库[10][11]预定义的算法可以提升较小文件的压缩密度。

使用brotli取代deflate来对文本文件压缩通常可以增加20%的压缩密度,而压缩与解压缩速度则大致不变。使用Brotli进行流压缩的内容编码类型已被提议使用“br”。[12]

使用

  • Mozilla Firefox在Firefox 44中实现Brotli。[13][14]
  • Google Chrome从Chrome 49开始支持Brotli。[14]
  • Opera从Opera 36开始支持Brotli。[14]

注解

  1. ^ Brotli's core is written in C, but it has bindings for Java, Python, C#, and Go.[3]

参见

参考资料

  1. ^ Release 1.0.9. 2020年8月27日 [2020年9月6日]. 
  2. ^ brotli/README.md at master. 4 April 2017 [21 April 2017]. (原始内容存档于2015-04-04) –通过GitHub. 
  3. ^ google/brotli - Brotli compression format. [11 August 2017]. (原始内容存档于2016-06-29) –通过GitHub. 
  4. ^ Releases - google/brotli. [21 April 2017]. (原始内容存档于2015-09-24) –通过GitHub. 
  5. ^ RFC 7932 - Brotli Compressed Data Format. IETF. 2017-02-17 [2017-02-16]. (原始内容存档于2017-01-29). 
  6. ^ Brotli Source Code - GitHub. github.com. [2016-07-01]. (原始内容存档于2016-06-29). 
  7. ^ Slater-Robbins, Max. Chrome and Firefox are about to get a lot faster thanks to Google's new data compression algorithm. techspot.com. 20 Jan 2016 [20 Jan 2016]. (原始内容存档于2016-05-30). 
  8. ^ 8.0 8.1 Google Open Source Blog: Introducing Brotli: a new compression algorithm for the internet. [2016-07-01]. (原始内容存档于2016-06-19). 
  9. ^ Smaller Fonts with WOFF 2.0 and unicode-range. Google Developers Blog. 18 Feb 2015 [20 Jan 2016]. (原始内容存档于2016-03-04). 
  10. ^ Richard Chirgwin. Google's new squeeze: Brotli compression open-sourced. The Register. 23 September 2015 [2016-07-01]. (原始内容存档于2016-05-02). 
  11. ^ Alakuijala, Jyrki; Kliuchnikov, Evgenii; Szabadka, Zoltan; Vandevenne, Lode. Comparison of Brotli, Deflate, Zopfli, LZMA, LZHAM and Bzip2 Compression Algorithms (PDF). Google. 2015-09-22 [25 October 2015]. (原始内容存档 (PDF)于2016-02-09). 
  12. ^ 谷歌新压缩算法因担心涉及性别歧视而改名. 开源中国社区. [2016-07-01]. (原始内容存档于2016-05-07). 
  13. ^ Firefox 44 release notes. mozilla.org. [2016-01-26]. (原始内容存档于2016-03-04). 
  14. ^ 14.0 14.1 14.2 Can I use... Support tables for HTML5, CSS3, etc. caniuse.com. [2016-01-07]. (原始内容存档于2017-04-08). 

外部链接