当前位置: 代码迷 >> J2EE >> 求字符串压缩算法,该如何处理
  详细解决方案

求字符串压缩算法,该如何处理

热度:150   发布时间:2016-04-19 22:00:03.0
求字符串压缩算法
有一串字符: “撒单算扥结合手速龙看扥和输送带反抗三算扥还三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.*
  相关解决方案