2017-09-01 20 views
-2

我有这个巨大的字符串,我想知道它是否可以压缩,如果是这样做有什么好办法。良好的方式来无损压缩一个巨大的字符串

“01011311100111111112110131131011111110111011113111101101001110110110100110001001111003011011101111311102110011030111001311110113110111110111111111111111311103010001113110013100100101110000010111111111001000111111100001100030111111131113113101101001100111111100110100131001102101101110030300300011011111001111100010110011201111111011110011101011000011100013110101111003000131111012011131000000113111111311111001100111011111000101111101313111010000001131103011210111101001110010100113111311000111001100011110001000001111110001111111001010001011111100111000131000”

这是一个示例,并有几千更多行。有什么建议么?

+1

不完全确定它是否是您想要的,但0000011111110000111可能会变成[0:5] [1:7] [0:4] [1:3](或类似的)需要一些附加功能,但特别对于这样的大字符串,这可以使它短得多 – Stultuske

+1

压缩是一个研究得很好的主题,并且有很多可用的库和工具可以做到这一点。对[so]求助并不是一个很好的替代方案,可以用来自己做研究。 – Dukeling

+0

基于这些数据,我会说它的编码,如果你每个字符占用8位,当你只需要0-9时,你有256个可能的字符,也许尝试总结为10个字符,转换为数字并将它们存储为长或然后制作一份列表/冗长的短信 –

回答

0

我建议在考虑实现自己的压缩算法之前尝试使用开箱即用的解决方案。如果这导致足够压缩的结果,那么您可以尝试使用java.util.zip.GZIPInputStreamjava.util.zip.GZIPOutputStream。只有当你对结果不满时,你才会想到自己的计划。

相关问题