public static String unzipHTML(String s){
int endPos = s.indexOf("\r\n\r\n");
if(endPos<10)
return s;
try{
String header = s.substring(0, endPos);
if(header.indexOf("Content-Encoding: gzip")!=-1){
String[] strs = s.split("\r\n\r\n", 2); Log.d("com.she.jyass.c", strs[0] + "\nstrs[1] len=" + strs[1].length()); ByteArrayInputStream bis = new ByteArrayInputStream(strs[1].getBytes("Latin1"));
GZIPInputStream g = new GZIPInputStream(bis); BufferedReader br = new BufferedReader(new InputStreamReader(g));
StringBuffer sb = new StringBuffer();
char[] buffer = new char[10240];
int len;
while ( (len=br.read(buffer)) >0) {
sb.append(buffer, 0, len);
}
s = strs[0] + "\r\n\r\n" + sb.toString();
}
}catch(Exception e){
commonUtils.printError(e, "unzipHTML");
}
return s;
}

使用方法:

String s = new String(rtn.data, "Latin1");

s = commonUtils.unzipHTML(s);

注意,即使你的网页是utf-8的,也要用Latin1,否则出来的是乱码

Android 解压html压缩数据的更多相关文章

  1. Android 解压zip文件你知道多少?

    对于Android常用的压缩格式ZIP,你了解多少? Android的有两种解压ZIP的方法,你知道吗? ZipFile和ZipInputStream的解压效率,你对比过吗? 带着以上问题,现在就开始 ...

  2. linux中tar之解压和压缩常用

    我们知道在windows中解压和压缩有两个非常强大的工具winRar和国产的好压工具,在linux中也有一款强大的解压和压缩工具.那就是大名鼎鼎的tar.我们首先看看tar命令的使用格式 语法:tar ...

  3. Linux:文件解压与压缩

    文件打包与压缩 常见压缩文件格式: |文件后缀名 |说明| |.zip |zip程序打包压缩的文件| |.rar |rar程序压缩的文件| |.7z |7zip程序压缩的文件| |.tar |tar程 ...

  4. asp.net实现文件解压和压缩

    C#解压RAR压缩文件(--转载--测试通过) using System; using System.Collections.Generic; using System.Text; using Sys ...

  5. [转]Ubuntu Linux 安装 .7z 解压和压缩文件

    [转]Ubuntu Linux 安装 .7z 解压和压缩文件 http://blog.csdn.net/zqlovlg/article/details/8033456 安装方法: sudo apt-g ...

  6. [转]Ubuntu 常用解压与压缩命令

    .tar 文件(注:tar是打包,不是压缩!) # 仅打包,并非压缩 tar -xvf FileName.tar # 解包 tar -cvf FileName.tar DirName # 将DirNa ...

  7. os与操作系统进行交互,sys解释器相关,random随机数,shutil解压和压缩

    1.os 与操作系统相关 对文件的处理 对路径的处理 import os#主要用于与操作系统进行交互 掌握: print(os.makedirs('a/b/c'))#创建目录 可用递归创建 print ...

  8. Mac上zip,rar,tar文件命令解压和压缩

    经常遇到在windowns上的压缩文件,在mac上解压出现问题,特意总结了下在Terminal里常用命令的方式解压和压缩文件 1.zip压缩文件 zip命令的参数很多,可以利用"zip -- ...

  9. 【Linux】war包的解压与压缩

    现在存在一个war包test.war(以下是在Linux上操作) 1.解压war包 jar –xvf test.war 说明:直接解压到当前文件夹,如果需要解压到指定的文件夹下,需要将test.war ...

随机推荐

  1. Nexus4_文件名乱码

    1. 官方的出厂映像 for Android4.4:occam-krt16s-factory-2006f418.tgz 2. 自己编译的 Android-4.4_r1 (AOSP on Mako) 映 ...

  2. Python的lambda表达式

    使用lambda来创建匿名函数,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python lambda还有哪些和def不一样呢? 1 python lambda会创建一个函数对象,但 ...

  3. Android 图片Exif信息相关的获取与修改

    1 Exif是什么 Exif是一种图像文件格式,它的数据存储于JPEG格式是完全相同的,实际上Exif格式就是JPEG格式头插入了 数码照片的信息,包括拍摄的光圈.快门.平衡白.ISO.焦距.日期时间 ...

  4. new Date()时间对象

    <!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8&qu ...

  5. html5常用API之Full Screen

    所谓Full Screen API,就是全屏API,在html5中,该API允许开发者以编程方式将Web应用程序全屏运行,使Web应用程序更像本地应用程序.这款API十分简单有用,是html5初学者必 ...

  6. 【CITE】C#入门学习-----简单画图程序

    版权声明:本文为博主原创文章,未经博主允许不得转载. 欢迎大家提出意见,一起讨论! 转载请标明是引用于 http://blog.csdn.net/chenyujing1234 通过本实例了解如何在窗体 ...

  7. Hibernate-细细道来-01

    Dao代码,如何编写? 使用Jdbc技术,原始的jdbc操作, Connection/Statement/ResultSet DbUtils组件, 轻量级的dao的组件: Hibernate技术  [ ...

  8. js字符串函数之indexOf()

    indexOf 返回字符串中指定字符首次出现的位置 var str="hello, I am Miss bean!"; str.indexOf("l")//结果 ...

  9. Java 基础知识点(必知必会其二)

    1.如何将数字输出为每三位逗号分隔的格式,例如“1,234,467”? package com.Gxjun.problem; import java.text.DecimalFormat; impor ...

  10. Rudolph javascript 监听简单对象属性的变化 -- 回调函数的应用

    http://www.oschina.net/code/snippet_1590754_46481 //简单对象的属性的变化监控 //通过setAttr改变属性的值 var o = { 'a':2, ...