Java Base64Decoder 本身只能处理未经压缩的数据。如果你需要解码经过 Base64 编码的压缩数据,你需要先将数据解压缩,然后再进行 Base64 解码。以下是一个简单的示例,展示了如何在解码前先对数据进行 Gzip 解压:
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Base64; import java.util.zip.GZIPInputStream; public class Main { public static void main(String[] args) throws IOException { // 假设这是经过 Base64 编码的 Gzip 压缩数据 String base64EncodedData = "https://www.yisu.com/ask/H4sIAAAAAAAAAOCgABABoAAAAACwCAAAAAQ=='"; // 先进行 Base64 解码 byte[] base64DecodedData = https://www.yisu.com/ask/Base64.getDecoder().decode(base64EncodedData);"UTF-8")); } }
在这个示例中,我们首先使用 Base64.getDecoder().decode() 方法对 Base64 编码的数据进行解码,然后使用 GZIPInputStream 对解码后的数据进行 Gzip 解压。最后,我们将解压后的数据输出到控制台。