在Java中将字符串压缩为指定的最大字符数

在Java中将字符串压缩为指定的最大字符数,java,string,algorithm,compression,Java,String,Algorithm,Compression,我想压缩任何字符串,如果它有超过50个字符。如果字符大小小于50,则让其保持不变,否则必须将其压缩到所需的限制(50) 我将在DB中插入此压缩/未压缩输出。因此,在从DB中提取数据时,我希望压缩字符串能够容易地与未压缩字符串(压缩字符串的一些常见模式)区分开来 请推荐一些最好的压缩库/算法?我会使用java.util.zip包中的充气器/放气器。它们使用本机ZLIB压缩库,非常高效。很容易区分压缩文本和未压缩文本-尝试解压缩,如果是纯文本,则会出现异常如果允许压缩有损,则可以使用 请推荐一些最好


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

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


请推荐一些最好的压缩库/算法?

我会使用java.util.zip包中的充气器/放气器。它们使用本机ZLIB压缩库,非常高效。很容易区分压缩文本和未压缩文本-尝试解压缩,如果是纯文本,则会出现异常

如果允许压缩有损,则可以使用

请推荐一些最好的压缩库/算法


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

如果字符串包含的信息超过了50个字符所能存储的信息量,该怎么办?真的吗?没有这样的模式。如果将字符串s压缩为压缩版本t,是什么使您认为t不是合法的未压缩字符串?你是否限制了一组有效的未压缩字符串?@diev如果看到《战争与和平》的文本压缩到50个字符,那就太酷了。我认为OP考虑了一组特殊的、非常有限的可能字符串。或者压缩是允许有损的?如果是这种情况,只需删除除前47个字符以外的所有字符,然后添加
。。。。基于。