社区
C#
帖子详情
GZipStream压缩之后返回byte[],如何判断byte[]是否被压缩过?在线请教高手
liuying2500
2009-04-20 05:03:31
public byte[] Compress(byte[] b)
{
//压缩的方法,GZipStream实现
}
byte[] retByte = Compress(b);
问题:我如何判断这个byte数组retByte是否被压缩过呢??请高手指教
...全文
576
11
打赏
收藏
GZipStream压缩之后返回byte[],如何判断byte[]是否被压缩过?在线请教高手
public byte[] Compress(byte[] b) { //压缩的方法,GZipStream实现 } byte[] retByte = Compress(b); 问题:我如何判断这个byte数组retByte是否被压缩过呢??请高手指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liuying2500
2009-04-21
打赏
举报
回复
[Quote=引用 10 楼 soaringbird 的回复:]
byte[] Compress(byte[] b)
压缩返回的数组并不只是压缩后的数据,还有gzip的一些元数据的定义等等。
压缩后的那个byte[],前面都有一段相同的数据(我试了一些数据,是相同的),就是
1F-8B-08-00-00-00-00-00-04-00-ED-BD-07-60-1C-49-96-25-26-2F-6D-CA-7B-7F-4A-F5-4A-D7-E0-74-A1-08-80-60-13-24-D8-90-40-10-EC-C1-88-CD-E6-92-EC-1D-69-47-23-29-AB-2A-81-CA-65-56-65-5D-66-16-40-CC-ED-9D-BC-F7-DE-7B-EF-BD-F7-D…
[/Quote]
谢谢,经过昨天的研究,我认为你说的方式才是解决这个问题的正道,马上就结贴。
soaringbird
2009-04-20
打赏
举报
回复
byte[] Compress(byte[] b)
压缩返回的数组并不只是压缩后的数据,还有gzip的一些元数据的定义等等。
压缩后的那个byte[],前面都有一段相同的数据(我试了一些数据,是相同的),就是
1F-8B-08-00-00-00-00-00-04-00-ED-BD-07-60-1C-49-96-25-26-2F-6D-CA-7B-7F-4A-F5-4A-D7-E0-74-A1-08-80-60-13-24-D8-90-40-10-EC-C1-88-CD-E6-92-EC-1D-69-47-23-29-AB-2A-81-CA-65-56-65-5D-66-16-40-CC-ED-9D-BC-F7-DE-7B-EF-BD-F7-DE-7B-EF-BD-F7-BA-3B-9D-4E-27-F7-DF-FF-3F-5C-66-64-01-6C-F6-CE-4A-DA-C9-9E-21-80-AA-C8-1F-3F-7E-7C-1F-3F-22
所以,你可以判断byte[]前面是否包含这一段数据来判断是否是压缩过的数据。当然,限于正常的压缩数据,如果是变造的数据那就另说了。
liuying2500
2009-04-20
打赏
举报
回复
[Quote=引用 8 楼 tang_fu 的回复:]
public boolen Compress(byte[] b)
{
try
{
//压缩的方法,GZipStream实现
}
catch(except e)
{
.........
}
return true;
}
boolen retByte = Compress(b);
[/Quote]
非常感谢你回复,但是我compress方法必须要返回byte[]
tang_fu
2009-04-20
打赏
举报
回复
public
boolen
Compress(byte[] b)
{
try
{
//压缩的方法,GZipStream实现
}
catch(except e)
{
.........
}
return true;
}
boolen retByte = Compress(b);
liuying2500
2009-04-20
打赏
举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
比较解压缩内容是否与原内容一致
[/Quote]
这个源数据我是无法判断的,client端传递到WebService的数据就算没压缩过,也是被序列化了的,都是byte[]
liuying2500
2009-04-20
打赏
举报
回复
[Quote=引用 1 楼 ericzhangbo1982111 的回复:]
GZipStream
以前用过
你想判断的话在GZipStream里面修改下啊。
[/Quote]
能说的再稍微详细一点吗?谢谢
liuying2500
2009-04-20
打赏
举报
回复
我的程序序列化和解压缩之后都返回的是byte[],解压缩是发生在client端传递给WebService端的参数很大的时候,所以我要判断这些数据是否压缩过
wuyq11
2009-04-20
打赏
举报
回复
比较解压缩内容是否与原内容一致
supesa
2009-04-20
打赏
举报
回复
你的需求很奇怪,你为什么要判断是否要解压呢?无法从字节上判断是否压缩过。
chowyi
2009-04-20
打赏
举报
回复
GZipStream s = new GZipStream();
s.CanRead?压缩过:未
ericzhangbo1982111
2009-04-20
打赏
举报
回复
GZipStream
以前用过
你想判断的话在GZipStream里面修改下啊。
.net 利用
GZip
Stream
压缩
和解
压缩
在.NET框架中,`
GZip
Stream
`类是用于实现
GZIP
压缩
和解
压缩
的主要工具。
GZIP
是一种广泛使用的数据
压缩
格式,它可以在网络传输时减少数据量,从而提高传输效率。`
GZip
Stream
`是.NET Framework提供的System.IO....
如何
压缩
多个文件\文件夹(
GZip
Stream
and C#)
`
GZip
Stream
`是这个命名空间中的一个关键类,它实现了
GZIP
压缩
算法,可以用于处理数据流的
压缩
和解
压缩
。本篇文章将详细介绍如何利用`
GZip
Stream
`和C#进行文件或文件夹的
压缩
操作。 一、
GZip
Stream
介绍
GZip
Stream
...
GZip
Stream
压缩
文件称
gzip
格式
标题中的“
GZip
Stream
压缩
文件成
gzip
格式”指的是在编程中使用
GZip
Stream
类来对文件进行
压缩
,生成遵循
gzip
标准的
压缩
文件。
gzip
是一种广泛使用的数据
压缩
格式,主要用于减少文件大小,加快网络传输速度。它基于...
vb.net 利用.net自带的
GZip
Stream
压缩
或者解压文件的代码,不需要任何第三方控件
网上很少有用VB写的
压缩
文件的代码,但是,在网络传输,文件下载,打包发布等等方面的需求又比较多,所以,借鉴了一下C#代码的例子,改造成了VB用的类。另外加上了多层文件夹
压缩
解压。但是,因为时间有限,只是将...
C#使用
GZip
Stream
实现文件的
压缩
与解压
C#使用
GZip
Stream
实现文件的
压缩
与解压 C#使用
GZip
Stream
实现文件的
压缩
与解压是指使用C#语言中的
GZip
Stream
类对文件进行
压缩
和解
压缩
操作。
GZip
Stream
是.NET Framework中的一个类,用于
压缩
和解
压缩
数据流。它支持...
C#
111,120
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章