我有一个原始字符串,该字符串是用来自服务器的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);
行
我不明白我在做什么错。请帮助我解决此问题。