HB *_*AAM 1 .net c# compression random
var file = new FileStream("random.txt", FileMode.Create);
var random = new Random();
for (int i = 0; i < 100000000; i++)
{
var bytesToWrite = BitConverter.GetBytes(random.Next(int.MaxValue));
file.Write(bytesToWrite, 0, bytesToWrite.Length);
}
file.Close();
Run Code Online (Sandbox Code Playgroud)
当你只是将一些随机数添加到文本文件然后压缩它变得更大,或者它将保持与文本相同的大小
任何一个知道如何或为何会发生?
文本文件倾向于很好地压缩,因为它们反复使用相同的数据.向文件中添加一些随机数会使文件不那么规则,因此大多数压缩算法都会更难以压缩文件.
阅读压缩算法以更好地理解这一点.https://en.wikipedia.org/wiki/File_compression
压缩算法不会向你保证它会变小.
原因很简单,没有足够的唯一值可以生成更小的值.
例:
如果您有10位世界,则可以生成2 ^ 10个值.让我们假设你可以压缩它们.但是,如果你删除一点,你只能拥有2 ^ 9个值.因此,有许多原始值永远无法正确压缩,并解压缩回原始值.
因此,大多数压缩算法都考虑到正常数据不是随机的,并且是重复的,或者背后有一些基本规则.
像文本只使用了一定数量的字符,所以你可以很好地压缩它们.