gzip解码中文乱码问题

wlxu_07 2010-06-25 08:25:36
我通过jpcap抓获网络中传输的gzip加密数据包,通过GZIPInputStream进行解压,结果英文能正常解压出来,中文解压出来的是乱码。

求高人指点。。。
...全文
1016 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangchengfn 2011-01-01
  • 打赏
  • 举报
回复
有没有VC的代码,谁能贴一段出来?
bai_feng 2010-06-28
  • 打赏
  • 举报
回复
写一个Character过滤器,搞定一切乱码.
wlxu_07 2010-06-27
  • 打赏
  • 举报
回复
顶顶。。希望高手出现。。
wlxu_07 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 redduke1202 的回复:]

将contentbyte的内容转字符串时,有指定编码么?
[/Quote]

转换的时候各种编码都试验过了,还是乱码!O(∩_∩)O~
「已注销」 2010-06-26
  • 打赏
  • 举报
回复
将contentbyte的内容转字符串时,有指定编码么?
wlxu_07 2010-06-26
  • 打赏
  • 举报
回复
contentbyte里面存储的是网上传输的网页内容,包括英文字符,还有中文字符。
wlxu_07 2010-06-26
  • 打赏
  • 举报
回复
					// 建立grip压缩文件输入流
InputStream fin = new ByteArrayInputStream(contentbyte);

/**
* 测试时候进入gzip解码
*/
System.out.println("\n\n\n\nGZIP!\n\n\n\n");

try {
// 建立gzip解压工作流
GZIPInputStream gzin = new GZIPInputStream(fin);

byte[] buf = new byte[1024];
ArrayList<byte[]> cb = new ArrayList<byte[]>();
int num, len = 0;
while ((num = gzin.read(buf, 0, buf.length)) != -1) {
byte[] cell = new byte[num];
len += num;
System.arraycopy(buf, 0, cell, 0, num);
cb.add(cell);
}
contentbyte = new byte[len];
num = 0;
for (byte[] c : cb) {
System.arraycopy(c, 0, contentbyte, num, c.length);
num += c.length;
}

gzin.close();
fin.close();
fantasy471503202 2010-06-26
  • 打赏
  • 举报
回复
楼主把代码贴出来瞅瞅~

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧