Android 解压html压缩数据
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压缩数据的更多相关文章
- Android 解压zip文件你知道多少?
对于Android常用的压缩格式ZIP,你了解多少? Android的有两种解压ZIP的方法,你知道吗? ZipFile和ZipInputStream的解压效率,你对比过吗? 带着以上问题,现在就开始 ...
- linux中tar之解压和压缩常用
我们知道在windows中解压和压缩有两个非常强大的工具winRar和国产的好压工具,在linux中也有一款强大的解压和压缩工具.那就是大名鼎鼎的tar.我们首先看看tar命令的使用格式 语法:tar ...
- Linux:文件解压与压缩
文件打包与压缩 常见压缩文件格式: |文件后缀名 |说明| |.zip |zip程序打包压缩的文件| |.rar |rar程序压缩的文件| |.7z |7zip程序压缩的文件| |.tar |tar程 ...
- asp.net实现文件解压和压缩
C#解压RAR压缩文件(--转载--测试通过) using System; using System.Collections.Generic; using System.Text; using Sys ...
- [转]Ubuntu Linux 安装 .7z 解压和压缩文件
[转]Ubuntu Linux 安装 .7z 解压和压缩文件 http://blog.csdn.net/zqlovlg/article/details/8033456 安装方法: sudo apt-g ...
- [转]Ubuntu 常用解压与压缩命令
.tar 文件(注:tar是打包,不是压缩!) # 仅打包,并非压缩 tar -xvf FileName.tar # 解包 tar -cvf FileName.tar DirName # 将DirNa ...
- os与操作系统进行交互,sys解释器相关,random随机数,shutil解压和压缩
1.os 与操作系统相关 对文件的处理 对路径的处理 import os#主要用于与操作系统进行交互 掌握: print(os.makedirs('a/b/c'))#创建目录 可用递归创建 print ...
- Mac上zip,rar,tar文件命令解压和压缩
经常遇到在windowns上的压缩文件,在mac上解压出现问题,特意总结了下在Terminal里常用命令的方式解压和压缩文件 1.zip压缩文件 zip命令的参数很多,可以利用"zip -- ...
- 【Linux】war包的解压与压缩
现在存在一个war包test.war(以下是在Linux上操作) 1.解压war包 jar –xvf test.war 说明:直接解压到当前文件夹,如果需要解压到指定的文件夹下,需要将test.war ...
随机推荐
- Linux_服务
1.服务启动顺序 http://bbs.chinaunix.net/thread-1970916-1-1.html http://bbs.csdn.net/topics/240060477 2.Lin ...
- iOS日志输出宏
下面是在日志语句中很有用的非常常见的宏和表达式.C/C++/Objective-C中用于日志输出的预处理宏. Macro Format Specifier Description 1. __func_ ...
- poj3714Raid(平面最近点对)
链接 模板 稍加一点标记 模板 #include <iostream> #include<cstdio> #include<cstring> #include< ...
- asp.net 柱形图
在vs中,如果要使用柱形图,我们大多数使用第三方提供的插件,所以必须要引用样式,这里我使用的是Highcharts-4.1.9插件,百度一下就可以下载到. 关键的js代码: <script sr ...
- JavaSE复习_9 集合框架复习
△列表迭代器也是不支持在迭代的时候添加元素的,只是列表迭代器自己定义了增删的方法而已.迭代器可以看成实在两个元素之间的指针,每当调用next就跳过一个元素并返回刚刚跳过的元素. △HashTable不 ...
- golang 资源
1.Learning Go <学习Go语言> http://www.miek.nl/projects/learninggo/中文版http://mikespook.com/learning ...
- The Network Adapter could not establish the connection问题研究
最近一个项目会报上述错误,但也不是经常发生,所以很难跟踪,影响不是很大,但每次看到日志中这个错误就会不舒服,还是要想办法解决才是. 错误提示信息很明确是网络适配器不能创建连接. 查了很多资料,并且Or ...
- 不能使用tpcc-mysql测试OneProxy
因为Proxy类的中间件不适合实现prepared statement,所以无法测试,导致我们无法使用标准的测试工具去发布OneProxy的测试结果
- 华为面试题——约瑟夫问题的C++简单实现(循环链表)
/* author:jiangxin Blog:http://blog.csdn.net/jiangxinnju Function:method of Josephus que ...
- 最最最简单的轮播图(JQuery)
html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...