第470章 幻按位分隔符压缩算法

A+A-

    =按位分隔符压缩算法=

    把数据进行按一定位数进行分割,比如素数位二进制数据,比如素数位十六进制数据,素数一般取较大值,比如,3,,9,23,29;

    然后进行统计,为了快速压缩,可以把数据进行检索模糊化。

    比如使用2,3,5,。

    比如:使用位的检索方式,那么就从00000000000到全部检索各有多少个(使用了分隔符)比如把

    0000000000000000000000,使用分隔符(编程自定义分隔符,比如使用#),然后就把数据分割为#00000000000##00000000000##

    这样就不会统计出错,比如不会把00和00都统计成存有0的错误,分隔符是为了避免这种检索错误,所以数据分段需要使用分隔符来分割。

    分割完毕之后,就进行统计,先是数位统计,统计出从#00000000000##0000000000##0000000000#一直到##,各有多少个,然后就可以在解压缩时,生成同样多的数据,然后进行位移就行了。

    数据可以通过统计的方式来得知其长度和数据内容,然而其排列顺序完全损失了,就需要通过另外一种方式来记录顺序。

    因为是使用位的二进制来分割统计,那么就可以简单的划分为5位+6位的方式来进行顺序排列:

    比如把?用于取一个模糊值(也就是#??#有多种有效可能性,#00#和#0#和#0#和##都可以记录为#??#,这里为了减少篇幅,就没有使用#?????#来作为明),然后把#?????#记录为(没错就只是一个字母)把#?????0#记录为b#????0?0#记录为以此类推,当然,如果数位足够多,那么五十二个英文字母的码可能就不够用了,就需要使用其他的方式来简写了,然后把所有的#(特定二进制数)+?+(特定二进制数)+?+(特定二进制数)#都记录为一个个的字母的方式进行排列。

    当然了,也可以把一个位二进制的数,分为多个数位顺序表,比如##,分别在第一个数位顺序表中,记录为,在第二个数位顺序表中,记录为,在第三个数位顺序表中,记录为,在第四个数位顺序表中记录为d

    #????????#=

    #0????????#=b

    #0????????#=

    #00????????#=d

    #0????????#=e

    #00????????#=f

    #00????????#=g

    #000????????#=

    然后进行记录数位顺序表;

    然后定义

    #????????#=

    #???0?????#=b

    #???0?????#=

    #???00?????#=d

    #???0?????#=e

    #???00?????#=f

    #???00?????#=g

    #???000?????#=

    然后记录为数位顺序表2;

    然后定义

    #????????#=

    #??????0??#=b

    #??????0??#=

    #??????00??#=d

    #??????0??#=e

    #??????00??#=f

    #??????00??#=g

    #??????000??#=

    然后记录为数位顺序表3;

    然后定义

    #?????????00#=

    #?????????0#=b

    #?????????0#=

    #?????????#=d

    然后解压缩时,把n个数位顺序表一一重合,就能还原出数据的数位顺序(带分隔符的本),然后使用全部替换的方式,把分隔符全部去掉,就能还原出原数据的顺序了。

    压缩快,解压缩也快。

    片段组合方式,来避免进行重复的整体加一,整体减一的方式来逆推出原先的数据,而是通过拼图的方式,把数位顺序表附带源数据的一部分数据,然后再把数位顺序表合并,就还原出源数据了,这种方式,也可以向前通用到进制碰撞方式中。

    =对于另一种可能需要用到人工智能,或者请数学高来了=

    作者还在思考,如何使用一种特定算法,把有n个同样长度的特定进制的数,通过加法,减法,乘法,除法,阶乘,次方号的方式,来生成一个远远于整个算式的结果:

    比如:23?339?55?23?234?345?56?6?9?23?234?345?46?246?=5444625,然后通过结果和运算符号,就能逆推出所有的数,从23,339,到5546,246;也就是唯一缺失片段只能唯一等式。

    数据压缩算法,本身就是对一个特定长度,使用特定进制的数据,如何使用特定算法,以及算法所需要带入的数据,来还原成源文件,而这个过程中,要足够快(这样压缩快,解压缩也快),要尽可能减少试错次数(也就是使用有缺失的方式,因为有缺失,所以需要一部分的穷举,然后进行校验,才能得出没有错误的源文件),要尽可能只有一个碰撞结果(也就是不能一个压缩后的文件,可以解压缩出n个不同的本)。

    先用统计,得出整个文件总共占用多少内存,然后使用内存移位和运算的方式,来还原出源文件,也就是,本身只需要解压缩后大的内存占用(只是根据压缩使用的算法,和为解压缩加速而存储的排除法和排除碰撞方法,来实现解压缩尽可能不进行不必要的运算)。