在java中,将非常大的字符串压缩为尽可能小的字符串

在java中,将非常大的字符串压缩为尽可能小的字符串,java,android,Java,Android,我想将非常大的字符串压缩为尽可能小的字符串,因为我想通过短信发送它 我目前正在使用这种编码-解码方法,但它给了我一个非常大的密码文本 String LongText=“欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!”+ “欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!”+ “欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!”+ “欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!”+ “欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!

我想将非常大的字符串压缩为尽可能小的字符串,因为我想通过短信发送它

我目前正在使用这种编码-解码方法,但它给了我一个非常大的密码文本

String LongText=“欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!”+ “欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!”+ “欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!”+ “欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!”+ “欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!欢迎!”


你们可以使用哈夫曼压缩,但这当然意味着你们必须在发送方压缩,在接收方解压。消息中的常用字符越多,压缩率就越好

您是否尝试过使用压缩算法,如ZIP或GZIP?您不是在压缩文本,而是在base64中对其进行编码。尝试使用内置的压缩算法,例如。请注意,压缩数据通常是一个
字节[]
,将其压入sms可能会导致其他问题。是的,是的,我做了达斯安德洛伊德谢谢,我会试试。我尝试过许多压缩和编码方法,但并没有给我一个令人满意的结果,但我还没有尝试过哈夫曼
public byte[] Encoding(String PlainText)
{
    byte[] encodeValue = Base64.encode(PlainText.getBytes(), Base64.DEFAULT);
    return encodeValue;
}

public String Decoding(byte[] CipherText)
{
    byte[] decodeValue = Base64.decode(CipherText, Base64.DEFAULT);
    return new String(decodeValue);
}