【发布时间】:2014-03-15 19:26:36
【问题描述】:
我正在尝试在 C# 中使用 gzip 流,但压缩后的文件似乎比以前大。 当我使用 .avi 和 .mkv 文件时会发生这种情况。但是如果我使用比原始文件更小的 .txt 和 .html 压缩文件。
using (MemoryStream output = new MemoryStream(blockToCompress.Length))
{
using (GZipStream cs = new GZipStream(output, CompressionMode.Compress))
{
cs.Write(blockToCompress, 0, blockToCompress.Length);
}
}
我通过检查框架(从 3.5 到 4.0)解决了这个问题,而无需编辑代码。
【问题讨论】:
-
(大多数)视频文件已经被高度压缩,因此重新压缩通常会增加它们的大小。英文文本非常可压缩。
-
这是一个重复的问题,请参考*.com/questions/3973485/…
-
如果这些格式可以进一步压缩,那么所有视频提供商(如 youtube)都以该格式流式传输它们。
-
.NET 压缩代码很糟糕。使用外部库至少保持非常接近 100% 的不可压缩数据。
标签: c# gzipstream