android 解压gzip,在Android中使用GZIPInputStream解压缩数据

该博客详细介绍了如何在Android环境中使用GZIPInputStream对通过C#的GZipStream压缩并转为Base64编码的字符串进行解压缩。方法涉及Base64解码、GZIP解压及UTF-8编码的恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍在Android中使用GZIPInputStream进行解压缩的方法,通过测试,本方法同样适用于通过c#中的GZipStream压缩后的数据解压。参数 base64String 为压缩过的且转换为 Base64 编码后的字符串,原始字符串参用的是 UTF-8 编码。

public String Decompress(String base64String) throws IOException{

byte[] t = Base64.decode(base64String, Base64.DEFAULT);

ByteArrayOutputStream out = new ByteArrayOutputStream();

ByteArrayInputStream in = new ByteArrayInputStream(t);

GZIPInputStream gzip = new GZIPInputStream(in);

try{

byte[] buffer = new byte[4096];

int n = 0;

while((n = gzip.read(buffer, 0, buffer.length)) > 0){

out.write(buffer, 0, n);

}

}finally{

gzip.close();

}

in.close();

out.close();

return out.toString("UTF-8");  //还原为原始编码的字符串

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值