gpt4 book ai didi

c# - GZipStream:压缩文件比原始文件大

转载 作者:行者123 更新时间:2023-11-30 22:08:16 24 4
gpt4 key购买 nike

我正在尝试在 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)而不编辑代码解决了这个问题。

最佳答案

您的代码是正确的。不幸的是,您的期望并非如此。

大多数视频和音频文件已经过高度压缩。使用 lossless compression 将无法进一步压缩它们像 GZip。事实上,您可能会略微增加文件大小 - 每种文件格式(包括 GZip)都会带来一些开销/簿记。

如果您确实需要减小它们的大小,则需要使用 lossy compression scheme理解视频格式。基本上,您将删除数据,可能会降低外观质量,以换取更小的尺寸。

如果源内容未压缩,GZip 等无损压缩方案可以将文件大小减少 25-50%。包含大量重复文本 (HTML) 或英文文本(一般文本文件)的文件通常压缩得更好。

关于c# - GZipStream:压缩文件比原始文件大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22428632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com