社区
C++ Builder
帖子详情
通过 TCompressionStream 压缩后的流怎么判断?
sczyq
2007-04-26 03:26:04
通过 TCompressionStream 压缩后的流是否的标志?
由于存于数据库中的流,有些经过压缩,有些未压缩,怎么区分?
压缩时,采用 TCompressionStream 组件,能否从流的前几个字节来区分?
...全文
488
11
打赏
收藏
通过 TCompressionStream 压缩后的流怎么判断?
通过 TCompressionStream 压缩后的流是否的标志? 由于存于数据库中的流,有些经过压缩,有些未压缩,怎么区分? 压缩时,采用 TCompressionStream 组件,能否从流的前几个字节来区分?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
constantine
2007-04-27
打赏
举报
回复
好像压缩过一次的不能再压缩,如果是的话,嘿嘿
ccrun.com
2007-04-27
打赏
举报
回复
加一个Head才是王道。鉴定完毕。
sczyq
2007-04-27
打赏
举报
回复
在前面加了标志。
typedef struct _ZlibHabdle
{
DWORD Ident; // 0x62696C5A = 'Zlib'
DWORD Size; // 压缩后的大小 + siseof(TZlibHabdle), 用于校验
} TZlibHabdle;
huzhangyou
2007-04-26
打赏
举报
回复
不过这好像是压缩时候判断的
压缩以后好像无法判断
所以还是推荐标志发
或者从TCompressionStream 继承
并加标志
huzhangyou
2007-04-26
打赏
举报
回复
其中:TcompressionLevel(压缩类型),它由如下几个定义:
①、 clNone :不进行数据压缩;
②、 clFastest:进行快速压缩,牺牲压缩效率;
③、 clDefault:进行正常压缩;
④、 clMax: 进行最大化压缩,牺牲速度;
这个属性应该是可以判断的
huzhangyou
2007-04-26
打赏
举报
回复
class TStreamData:public TStream{
bool flag;
TCompressionStream * cs;
}
判断flag就可以了
TStreamData从TStream继承
读出来Assign就可以了
然后判断flag
sczyq
2007-04-26
打赏
举报
回复
看来只有在前面加结构了。
ccrun.com
2007-04-26
打赏
举报
回复
>>>直接从流中分析出来
这个。。。恐怕就有难度了吧。
sczyq
2007-04-26
打赏
举报
回复
ccrun(老妖)(www.ccrun.com) 的办法是一种解决办法.
但若是能够直接从流中分析出来, 该有多好
过客猫2022
2007-04-26
打赏
举报
回复
关注
ccrun.com
2007-04-26
打赏
举报
回复
自定义一个类似文件头的结构(成员自己定义,如是否压缩的标志,流的长度,或者校验和字符串之类的),压缩完流以后将这个结构附在流的前面,那么判断时,取回结构大小的数据,判断这个头结构是否合法,如果合法,证明是压缩过的流,反之则是不曾压缩的流。
Delphi数据
压缩
处理
首先利用屏幕拷贝捕获到当前...
压缩
时,使用 T
Compression
Stream
对象对原始图像进行
压缩
并且保存为自定义的文档格式;解
压缩
时,使用 TDe
compression
Stream
对象对被
压缩
的图像进行解
压缩
,还原为 BMP格式的图像文档。
zlib_ZLibExGZ_ZLibEx
Delphi的开发者可以使用ZLib单元中定义的T
Compression
Stream
进行数据
压缩
,使用TDe
compression
Stream
解
压缩
ZLib
压缩
后的数据。
用zlib
压缩
、解
压缩
流
、
判断
是否
压缩
过了
海宏原创,用zlib
压缩
、解
压缩
流
、
判断
是否
压缩
过了 //
流
操作:
压缩
流
。源
流
不是全部
压缩
了,而是从当前position开始
压缩
function Compress
Stream
(oSource, oTarget:T
Stream
; nCount:Int64=-1):integer;...
关于 Delphi 中
流
的使用(7)
压缩
与解
压缩
(T
Compression
Stream
、TDe
compression
Stream
)
{
压缩
流
T
Compression
Stream
与解
压缩
流
TDe
compression
Stream
来自 Zlib 单元} //
压缩
procedure TForm1.Button1Click(Sender: TObject); var cs: T
Compression
Stream
; {定义
压缩
流
} fs,ms: ...
关于 Delphi 中
流
的使用
压缩
与解
压缩
(T
Compression
Stream
、TDe
compression
Stream
)
{
压缩
流
T
Compression
Stream
与解
压缩
流
TDe
compression
Stream
来自 Zlib 单元} //
压缩
procedure TForm1.Button1Click(Sender: TObject); var cs: T
Compression
Stream
; {定义
压缩
流
} fs,ms: TMemory
Stream
; {...
C++ Builder
13,825
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章