1.LZ4压缩后数据的基本结构
参考材料:
http://en.wikipedia.org/wiki/LZ4_(compression_algorithm) 点击打开链接
http://blog.csdn.net/zhangskd/article/details/17282895 点击打开链接
——》The LZ4 algorithm represents the data as a series of sequences.
——》Each sequence begins with a one byte token that is broken into two 4 bit fields. The first field represents the number of literal bytes that are to be copied to the output. The second field represents the number of bytes to copy from the already decoded output buffer (with 0 representing the minimum match length of 4 bytes). A value of 15 in either of the bitfields indicates that the length is larger and there is an extra byte of data that is to be added to the length. A value of 255 in these extra bytes indicates that yet another byte to be added. Hence arbitrary lengths are represented by a series of extra bytes containing the value 255.
——》After the string of literals comes the token and any extra bytes needed to indicate string length. (这里的token指的是什么?在上面的结构图中,在literals后面没有token?)
——》This is followed by an offset that indicates how far back in the output buffer to begin copying.
——》The extra bytes (if any) of the match-length come at the end of the sequence.