الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية اجراء عملية الضغظ وفك الضغط باستخدام الصف Gzipstream

بدأه عبد الكريم كنعان في 10 يناير 2008 · 1 رد · 1,134 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لنفرض انك تود بإجراء عملية الضعط لمصفوفة من البايتات فكيف يمكننا القيام بذلك، دعنا ندع الحديث عن ذلك للتابع التالي:

public static byte[] Compress(byte[] document)
{
	MemoryStream outStream;
	GZipStream zip;

	outStream = new MemoryStream();
	zip = new GZipStream(outStream, CompressionMode.Compress);

	zip.Write(document, 0, document.Length);
	zip.Close();

	return outStream.ToArray();
}

أما عملية فك الضغط فستكون على النحو التالي:

public static byte[] Decompress(byte[] document)
{
	MemoryStream outStream;
	GZipStream zip;
	List<byte> decompress;
	int value;

	outStream = new MemoryStream(document);
	zip = new GZipStream(outStream, CompressionMode.Decompress);

	decompress = new List<byte>();
	value = zip.ReadByte();
	while (value != -1)
	{
		decompress.Add((byte)value);

		value = zip.ReadByte();
	}

	zip.Close();

	return decompress.ToArray();
}

طبعا الصف GZipStream ليس فقط من اجل ضغط مصفوفة بايتات وانما ايضا يسمح لك بضغط ملف.

طبعا حيث نستطيع قراءة الملف كمصفوفة من البايتات

وشكرا

تم تعديل هذه المشاركة بواسطة عبد الكريم كنعان في 10 يناير 2008 في 21:02

#2

up

مواضيع مشابهة