压缩法新理念,最低2倍最高N倍压缩率,(算法)
压缩法首先建立一个64位的二进制组合表,共4096组并为每组加上编号
二进制表的编号是用16位二进制数表示。如:0001就是(0000、0000、0000、0001)
然后将压缩文件的数据(二进制形式),从第一位开始向后每64位一组,进行分组,直到将压缩文件的数据全部分组。并将每组数据对照二进制组合表,找到每组对应的编号。
如果最后的一组数据不足64位将其取出进行尾数处理。
尾数处理:
将不足64位的数据,记录该数据为多少位,然后将不足的位数补充为0,并找到补充后的数据在建立好的二进制组合表内对应的编号。
如:12(不足64位数据的位数)3140(不足数据补齐后对应的编号)01(第一次处理)
将分好的数据从第一组开始每4组合并为一组,如果最后一组不足64位进行尾数处理。
将合并好的每组数据再次进行对照,找出在组合表内对应的编号。
如:1172 3437 2243 3244 2257 3314 1145 2235 1110
1172343722433244 2257331411452235 (这是编号没有转成二进制形式)
1110(将不足的进行尾数处理)
重复处理,直到得出最后数组不满64位无法转换,记录最后的一组数对应的编号。最终压缩法得出一组数
如:
12(不足64位数组的数位)3140(不足数组补齐后对应的编号)01(第一次转换)、、、、、、(省略号为每次转换时处理尾数得到的数据,如果不需要进行尾数处理则得出00(无尾数)0N(第N次转换))、、、、、、2333(这是最后一组数)
解压法反过来就可以了