如何判断字节数组是否已被压缩?

Mik*_*keG 5 .net compression

我可以依赖使用.NET中System.IO.Compression.DeflateStream压缩的数据的前几个字节始终是相同的吗?

这些字节似乎总是第1个字节:237,189,7,96,28,73,150,37,38,47,......

我假设这是某种标题,我想假设这个标题是固定的,不会改变.

有没有人有任何关于此的额外信息?

背景信息(我想知道这个信息的原因是......)

我在数据库表中有大量数据可以做得更小.我已经决定开始压缩数据而不打算压缩现有数据.当数据进入我的.NET代码时,数据就是一个String.

我希望能够查看字符串的前几个字节并查看它是否已被压缩,如果有,那么我需要对其进行解压缩.

我原本以为我可以将字符串转换为字节,只是尝试解压缩数据.然后,如果发生异常,我可以假设它没有被压缩.但我认为检查标头字节会给我带来更好的性能.

非常感谢,迈克G.

Mar*_*tos 1

为了安全起见(除非在某处有记录),请将您自己的魔术标题贴在前面。GUID 是一个不错的选择。