各个算法特点后续再补充
LZ4
LZ4能很好的支持多线程环境,获得更高的压缩和解压速度。
GitHub - lz4/lz4: Extremely Fast Compression algorithm
QuickLZ
QuickLZ官网:http://www.quicklz.com/
snappy
snappy项目:https://code.google.com/p/snappy/
zip
zlib库,可通过包含zlib.h使用。
zip原名为Deflate,仅支持一个LZ77的变种算法Deflate。
zip/unzip,后缀为.zip。zip也是Windows下常见的压缩格式。
gzip
gzip/gunzip是GNU程序,后缀为.gz。Web也常用GZIP压缩技术。
首先使用LZ77算法进行压缩,对结果再使用huffman编码进行压缩。
tar中用-z来调用:
tar -czf pic.tar.gz *.jpg
tar -xzf pic.tar.gz
bzip2
bzip2/bunzip2,后缀为.bz2。
相比于gzip,压缩比更高,压缩效果比传统的LZ77/LZ78更好,但压缩速度较慢。
首先使用Burrows-Wheeler变换(BWT,块排序文本压缩),然后使用哈夫曼编码进行压缩。
tar中使用-j来调用:
tar -cjf pic.tar.bz2 *.jpg
tar -xjf pic.tar.bz2
compress
compress/uncompress,后缀为.Z,现在已经不再流行了。
使用LZ78算法的变种LZW。
tar中使用-Z来调用。
rar
rar/unrar,后缀为.rar。
rar格式较zip格式的压缩比高。
注意RAR非免费,是Windows下常见压缩格式,也有RAR for Linux。
rar a pic *.jpg // pic.rar
rar e pic.rar // pic
7z
7-Zip,后缀为.7z。
和rar、zip一样,7z也是Windows下常见的压缩格式。
使用改良与优化后的LZ77算法LZMA、LZMA2,压缩比高于zip。
xz
xz,后缀为.xz。
如果说LZ4是压缩速度之王,xz则是压缩比之王。
一般来说,用xz压缩后的文件,能比用gzip压缩的小30%,比用bzip2压缩的小15%。
主要使用LZMA2压缩算法。
tar不支持xz格式,xz / xz -d。
LZF
采用类似lz77和lzss的混合编码,针对字符串压缩算法