有一串字符: “撒单算扥结合手速龙看扥和输送带反抗三算扥还三elf;ysldkjfhsdflkj1”
加密后得到如下密文:
“???|???|???|???|???|???|???|???|???|???|???|???|???|???|???|???|???|???|???|???|???|???|??|??|??|??|??|??|??|??|??|??|??|??|??|??|??|??|??|??|?|”
现在我想对密文压缩一下存储,问一下有什么好的压缩算法或现成的jar包?
------解决方案--------------------
这个可以不
------解决方案--------------------
看看这个
------解决方案--------------------
压缩算法有很多的。
针对字符串压缩,随便哪种效果都会很好。
如果字符串的长度比较短,就用zip压缩算法吧,速度很快的。
如果字符串比较大,用gzip算法也比较不错,就是CPU指令消耗的稍微多一点点。
如果字符串是用来备份存储的,用7zip算法也是不错的选择,就是速度太慢了点。
另外,压缩算法和压缩文件是两个概念,压缩文件是存储压缩后的数据的容器。一种压缩文件可以支持多种压缩数据。
ZIP既是一种压缩算法,又是一种压缩文件。JDK中只实现了压缩文件的功能,对二进制数据压缩的功能没有实现。
GZIP是压缩算法,可以将压缩数据放入gz文件中,当然也可以放到7z、rar等文件中。
7ZIP是压缩算法,压缩数据可以放入7z文件中。
算法的开源框架,Apache Commons Compress 里有几个常用的压缩算法的实现。不过,它是面向流或者文件的,用的时候要注意之间的区别。
------解决方案--------------------
可以看看lucene的压缩算法
------解决方案--------------------
用java.util.zip.Deflater类去压缩吧。
------解决方案--------------------
1K 以上应该会有些效果,直接用Java自带的先试试吧 java.util.zip.*