博仕书屋
会员书架
首页 > 玄幻 > 脑回路清奇的主角们 > 幻按位分隔符压缩算法

幻按位分隔符压缩算法(1 / 2)

章节目录 加入书签
好书推荐: 报告京少,你家少奶奶又野又撩 长生者在求道 军火大亨到战争之王 无道记 创元 苟在神诡世界肝经验 乖乖姨娘她一身反骨 穿进红楼从丫鬟开始 是时候找个地球人结婚了 诸天:从一世之尊求道

=按位分隔符压缩算法=

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

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

比如使用2,3,5,7。

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

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

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

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

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

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

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

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

#111????????#=a

#11????????#=b

#11????????#=c

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

#11????????#=e

#1????????#=f

#1????????#=g

#????????#=h

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

然后定义

#???111?????#=a

#???11?????#=b

#???11?????#=c

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

#???11?????#=e

点击切换 [繁体版] [简体版]
章节目录 加入书签
新书推荐: 神话:灵性支配者 开局断绝关系,我成万道魔尊 天地大荒 苍穹第一神 妖魔改造系统 深渊入侵?身为魔修的我笑了 全民:天赋长生,我出卖寿命成神 我,穷猎户,靠系统躺平武侠世界 氪命推演,无敌从斩妖开始 木屋求生:卡牌世界大冒险