我想学习如何高度压缩文件。我下载了压缩大小为4GB的文件,解压后变成了10GB。
我正在压缩 .exe 文件之类的游戏。
关于压缩的一些基本背景信息:
真正的随机数据根本不能无损压缩。这是信息论(与计算机科学密切相关)研究领域的基本原则。对于可无损压缩的文件,其数据必须是重复的或可预测的。
一条经验法则是,使用合适的无损算法,任意计算机文件通常可压缩 50% 左右。文本文件通常可以大幅压缩。
如果您有图片、音频或视频文件,如果您可以接受有损压缩,它们可能能够被大幅压缩,同时仍能保持对原始文件的合理保真度。有损压缩算法因媒体(静态照片、音频、视频等)甚至子类别而异;来自相机的照片最好用 JPEG 压缩,而计算机图形最好用不同的编解码器压缩。音乐最适合使用 MP3 或 AAC 等比特率为 256kbps 或更高比特率的编解码器,但录音可以压缩到仅 9.6kbps 并且仍然可以完全理解。
H.264 AVC 编解码器可以将高清视频压缩两个或几乎三个数量级(即小于其原始大小的 1%),同时仍保持合理的质量。未压缩的全高清是 1920 像素宽 * 1080 像素高 * 24 位/像素 * 30 帧/秒 = 约 1.5 吉比特/秒,但看到 H.264 AVC 压缩高清以 15 比特/秒或更低的速度并具有合理的图像并不少见质量。
如果您将文件压缩一次(有损或无损),然后尝试对其进行无损压缩,则它往往无法进一步压缩。那是因为任何好的压缩算法都应该消除所有浪费的空间(重复或不必要的数据),所以不应该有任何东西可以压缩。