阅读记录

第470章 幻按位分隔符压缩算法[1/2页]

脑回路清奇的主角们 纯白色科幻宅

设置 ×

  • 阅读主题
  • 字体大小A-默认A+
  • 字体颜色
    =按位分隔符压缩算法=
      把数据进行按一定位数进行分割,比如素数位二进制数据,比如素数位十六进制数据,素数一般取较大值,比如11,13,17,19,23,29;
      然后进行统计,为了快速压缩,可以把数据进行检索模糊化。
      比如使用2,3,5,7。
      比如:使用11位的检索方式,那么就从00000000000到11111111111全部检索各有多少个(使用了分隔符)比如把
      ,使用分隔符(编程自定义分隔符,比如使用),然后就把数据分割为00000000000111111111110000000000011111111111
      这样就不会统计出错,比如不会把0101和1010都统计成存有101的错误,分隔符是为了避免这种检索错误,所以数据分段需要使用分隔符来分割。
      分割完毕之后,就进行统计,先是数位统计,统计出从00000000000→00000000001→00000000010→一直到11111111111,各有多少个,然后就可以在解压缩时,生成同样多的数据,然后进行位移就行了。
      数据可以通过统计的方式来得知其长度和数据内容,然而其排列顺序完全损失了,就需要通过另外一种方式来记录顺序。
      因为是使用11位的二进制来分割统计,那么就可以简单的划分为5位+6位的方式来进行顺序排列:
      比如把?用于取一个模糊值(也就是说1?1?1有多种有效可能性,10101和10111和11101和11111都可以记录为1?1?1,这里为了减少篇幅,就没有使用1?1?1?1?1?1来作为说明),然后把1?1?1?1?1?1记录为A(没错就只是一个字母)→把1?1?1?1?1?0记录为B→1?1?1?1?0?0记录为C→以此类推,当然,如果数位足够多,那么五十二个英文字母的ASCII码可能就不够用了,就需要使用其他的方式来简写了,然后把所有的(特定二进制数)+?+(特定二进制数)+?+(特定二进制数)都记录为一个个的字母的方式进行排列。
      当然了,也可以把一个11位二进制的数,分为多个数位顺序表,比如11111111111,分别在第一个数位顺序表中,记录为A,在第二个数位顺序表中,记录为A,在第三个数位顺序表中,记录为A,在第四个数位顺序表中记录为D
      111????????=A
      110????????=B
      101????????=C
      100????????=D
      011????????=E
      010????????=F
      001????????=G
      000????????=H
      然后进行记录数位顺序表1;
      然后定义
      ???111?????=A
      ???110?????=B
      ???101?????=C
     

第470章 幻按位分隔符压缩算法[1/2页]