java中使用GZIP对String进行压缩和解压

Posted

技术标签:

【中文标题】java中使用GZIP对String进行压缩和解压【英文标题】:Compression and Decompression of String using GZIP in java 【发布时间】:2014-09-11 01:23:36 【问题描述】:

我想要一个简单的代码来压缩和解压缩 Java 中的字符串。使用 GZIP。

前;字符串输入 = "Hello world";

输出将是压缩字符串。

前;字符串输出 = "%%#";

要求是将现有字符串压缩并将其作为字符串写入文本文件。解压是读取文本文件并将内容转换为字符串。这可能吗??

【问题讨论】:

Gzip 的输出是二进制的,不是字符串。您建议如何对二进制文件进行编码? 看看这个答案是否有帮助:***.com/a/19044753/1144203 【参考方案1】:

是的,这可以作为一系列步骤:

将字符串转换为二进制形式,例如使用 UTF-8 压缩二进制数据 将二进制数据编码回文本,例如使用base64。 不要尝试使用像base64这样的文本编码来“解码”它;压缩的结果是不是正常的编码文本。

但是,除非您的文本易于压缩,否则由于使用 base64 导致的大小增加很可能意味着您得到的字符串比您输入的要大...

【讨论】:

以上是关于java中使用GZIP对String进行压缩和解压的主要内容,如果未能解决你的问题,请参考以下文章

java压缩和解压字符串,Byte数组,String

对数据进行GZIP压缩和解压

Gzip压缩优化网站

C#实现通过Gzip来对数据进行压缩和解压

在java中,gzip 压缩和解压多个文件?

Linux命令(28):gzip/gunzip命令-压缩和解压