大家讨论一下:这样实现的压缩算法效果如何
最近需要在应用中使用到压缩算法,去网上找了找,发现问题多多:要么有版权,要钱,要么太复杂,但要压缩率高,还真的不掏大钱不行,于是突发奇想,弄出下面这个压缩算法(我知道根本不能算我的算法,因为我只是把别人的算法进行整合而已)我的思想是:
使用BASE64加密算法和LZSS算法(也可以使用其他的压缩算法)
伪码如下:
1——压缩
function compress(src,layers)
if layers>限制最大层数 then layers=限制最大层数 :rem 避免无限层数
if layers<1 then layers=1 :rem 至少压缩一次
compress=zip("0"+src,layers) :rem 设置原始数据标志
end function
function zip(src,layer)
dest=base64(src)
dest=lzss(dest)
dest="1"+dest :rem 设置压缩结果标志
if layers>0 then dest=zip(dest,layers-1)
zip=dest
end function
2——解压缩
function uncompress(src)
dest=right(dest,2,len(dest)-1)
if left(src,1)="1" then dest=unzip(dest)
uncompress=dest
end function
function unzip(src)
dest=unlzss(src)
dest=unbase64(dest)
if left(dest,1)="1" then dest=unzip(right(dest,2,len(dest)-1))
unzip=right(dest,2,len(dest)-1)
end function
大家讨论讨论。