ZLIB减压不起作用

时间:2018-06-19 14:56:15

标签: java android json zlib compression

我有一个原始字符串,该字符串是用来自服务器的zlib压缩的base64压缩的,我需要使用zlib解压缩将其转换为JSON。这是我正在使用的代码:

public static void decompress(String compressed) throws Exception {
    try {
        Inflater inflater = new Inflater(true);
        inflater.setInput(compressed.getBytes());
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream(compressed.getBytes().length);
        byte[] buffer = new byte[1024];
        while (!inflater.finished()) {
            int count = inflater.inflate(buffer);
            outputStream.write(buffer, 0, count);
        }
        outputStream.close();
        byte[] output = outputStream.toByteArray();

        String str = new String(output, StandardCharsets.UTF_8);
        Logger.e("STR", str);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

但是,我在解压缩时遇到此错误:

java.util.zip.DataFormatException: invalid code lengths set 

int count = inflater.inflate(buffer);

我不明白我在做什么错。请帮助我解决此问题。

0 个答案:

没有答案