在Java中将字符串压缩为指定的max chars

时间:2013-05-09 05:28:07

标签: java string algorithm compression


我想压缩任何字符串,如果它有超过50个字符串。如果字符大小小于50,则让它不受影响,否则必须将其压缩到所需的限制(50)。

我将在DB中插入此压缩/未压缩输出。因此,在从DB中获取数据时,我希望压缩字符串能够轻松区分未压缩(压缩字符串的一些常见模式)。

请建议一些最好的压缩lib /算法?

3 个答案:

答案 0 :(得分:1)

  

请建议一些最好的压缩lib /算法?

没有这样的算法或库,因此可以将任何字符串压缩为给定的最大字符(例如50),而不会有任何丢失信息。

答案 1 :(得分:0)

我会使用java.util.zip包中的Inflater / Deflater。它们使用本机ZLIB压缩库并且非常高效。很容易区分压缩文本和未压缩文本 - 尝试解压缩,如果它是纯文本,你会得到一个例外

答案 2 :(得分:0)

如果允许您的压缩有损,可以使用the abbreviate function from Apache Commons lang