17

كيف يعمل برنامج الضغط winrar او 7zip ؟

لم افهم لماذا في بعض الاحيان حينما اضغط ملف و لنفترض ان حجمه 20 ميغا بعد الضغط يصبح 16 او يبقى 20 ، و في احيان اخرى حينما اضغط ملف بهذا الحجم اجد ان حجمه بعد الضغط اصبح 1 ميغا او 2 ..

لماذا لم يفعل هذا مع الاول ؟ يعني ما الذي يحدث ليحدث هذا ؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

26

سأفترض أن السؤال في مجتمع "اشرحها وكأني في الخامسة":

لنأخد نصين بنفس الطول. والملفات تشبه النصوص بأنها مجموعة من البايتات بدلًا من الأحرف.

النص الأول : aaaaaaaaaaaaaaaaaaaa

النص الثاني: aaaaabcdefghijklmnopq

النص الأول يمكن ضغطه عن طريق تمثيله بـ ax20

أما الثاني مع أنه بنفس الطول لكن لا يمكن ضغطه أكثر من هذا ax5 bcdefghijklmnopq

إذاً الفكرة كلها في انه يقوم بحذف البيانات المتكررة ، وعند فك الضغط يعيدها مرة اخرى للوضوع السابق

كنت أتسائل نفس السؤال وكنت أتوقع ان الأجابة ستكون متشابهة وفعلا طلعت مثل ما توقعت

ربما تساعدك هذه المقالة:

Ahmad_Mu أضف ردا

تختلف برامج الضغط في خوارزميات الضغط التي تستعملها

أشهر الخوارزميات هية خوارزمية Huffman , سأقوم بشرح مبدأها بشكل مبسط ومحرّف بعيداً عن التفاصيل التقنية او المشكلات التي عالجتها :

لنفترض أن لديك نص معين , سنقوم بحساب أكثر الكلمات تكرارا في هذا النص , لنفرض أننا وجدنا ان الكلمة the مكررة بشكل كبير في هذا النص , سأقوم باستبدال كل كلمة the بحرف الـ t فقط

فإن كان لدي 30 كلمة the فـ هم بالمجمل 3×30 = 90 حرف , ولكن بعد عملية الاستبدال أصبحو 30×1 = 30 حرف فقط

كرر هذه العملية ف مثلا كلمة on قد باستبدالها بحرف ال o مثلاً

ستجد في النهاية أنه كلما تكررت الكلمات بشكل أكبر استطعت انقاص عدد أحرف النص " تصغير حجمه " بشكل أكبر

طبعاً ستجد أن حروف الأبجدية " 28 حرف " غير كافيين لترميز جميع الكلمات , هنا تقوم باستعمال الترميز بحرفين من أجل الكلمات الأقل تكراراً على سبيل المثال

طبعاً خوارزمية الضغط تعتمد على الضغط على مستوى الحرف الواحد وليس الكلمة بالطبع , كما أنها تقوم بالتحويل الى bits , ولكن ذكرت المثال من باب التبسيط

النتيجة أن نسبة الضغط تتناسب طرداً مع عدد التكرارات في الملف المراد ضغطه

بالتوفيق

هل هناك خورازميات أخرى؟

SalemMhmed
  • حذف بواسطة المستخدم

بحسب فهمي المحدود جدا جدا، يعتمد ذلك على: نوع الخوارزمية، وعلى نوع الضغط في البرنامج نفسه فهناك نوع ضغط عالي ولكنه بطيء والعكس، وعلى نوع الملفات ولذا تجد الملفات المنصية والأكواد البرمجية يقل حجمها كثيرا عند الضغط في المقابل نجد الفيديوهات والصور يقل حجمها قليلا.

لأن بعض انواع الملفات تقبل الضغط بعكس غيرها .. فمثلاً الملفات النصية يمكن ضغطها وتقليل حجمها ،لكن ملفات الفيديو والصوت والصور لا يمكن ضغطها الا بتغيير جودتها أو ترميزها ولذا لاتستطيع برامج الضغط ك Winrar أو 7zip ضغط حجمها.

هناك برامج تقوم بضغط الفيديو مع المحافظة على جودته

صحيح، وتقوم بذلك عبر تغيير الترميز (Codec) مثلاً من AVC H.264 القديم الي معيار HEVC H.265 الجديد والذي لديها القدرة علي ضغط حجم الفيديو بنسبة تصل الي 50% مع المحافظة علي الجودة لكن برامج ضغط الملفات كـ WINRAR و 7ZIP لاتستطيع القيام بذلك علي ملفات الفيديو الموجودة داخل المجلدات الذي تضعطها.

SalemMhmed
  • حذف بواسطة المستخدم

لكل برنامج خوارزميته الخاصة ولكني لحد اليوم متعجب من قدرة برنامج KGB في ضغط ملفات

SalemMhmed
  • حذف بواسطة المستخدم