يتوقع معظمنا أن يؤدي الضغط دائمًا إلى تصغير الحجم، لكن أحيانًا يتغير حجم الملف عند ضغطه ويشغل مساحة أكبر من الأصل! في هذا الدليل ستعرف لماذا يحدث ذلك، ومتى يزيد حجم الملف بعد الضغط، وما أفضل الصيغ والإعدادات لتقليل الحجم فعليًا بدون إفساد الجودة، مع جداول مقارنة وحلول عملية.
إجابة سريعة: لماذا قد يشغل الملف مساحة أكبر بعد الضغط؟
لأن بعض الملفات غير قابلة للضغط (مثل الصور المضغوطة JPEG/PNG، الفيديو MP4/HEVC، الصوت MP3/AAC، والملفات المشفَّرة)، وعند وضعها داخل أرشيف (ZIP/7z/…)، يضيف الأرشيف رؤوسًا وبيانات وصفية (Overhead) دون أن يجد أنماطًا قابلة للضغط، فتكون النتيجة زيادة طفيفة في الحجم بدل انخفاضه. كذلك الملفات الصغيرة جدًا أو عدد هائل من الملفات الصغيرة داخل أرشيف واحد قد تزيد بسبب تكرار بيانات الفهرسة.
كيف تعمل خوارزميات الضغط؟ (مبسط)
تعتمد معظم خوارزميات الضغط (مثل DEFLATE في ZIP) على اكتشاف أنماط متكررة في البيانات واستبدالها بتمثيل أقصر (قواميس، ترميز هوفمان)، لذلك:
- ملفات النصوص والكود وقواعد البيانات النصية غالبًا تُضغط جيدًا.
- ملفات الصور/الفيديو/الصوت المضغوطة مسبقًا أو البيانات المشفرة تكون عشوائية إحصائيًا فلا تنضغط.
- كل أرشيف يحتاج رؤوسًا وفهرسًا لإدارة المحتويات؛ هذا يمثل زيادة ثابتة بالحجم (Overhead).
متى يزيد حجم الملف بعد الضغط؟ أمثلة عملية
السيناريو | قبل الضغط | بعد الضغط | السبب |
---|---|---|---|
ضغط ملف MP4 (فيديو) داخل ZIP | 50.0 MB | 50.6 MB | MP4 مضغوط أصلاً + رؤوس ZIP |
أرشفة 2,000 ملف صغير (أيقونات/JSON) | 8.0 MB | 8.4 MB | Overhead للفهرسة + فائدة ضغط محدودة |
ضغط ملف .jpg واحد | 1.00 MB | 1.03 MB | JPEG غير قابل للضغط تقريبًا + رأس الأرشيف |
ملف .txt كبير | 10.0 MB | 2.1 MB | أنماط نصية متكررة تسهّل الضغط |
مقارنة صيغ الضغط الشائعة (نظرة سريعة)
البيانات تقريبية وتختلف حسب نوع الملف والإعدادات:
الصيغة / الخوارزمية | نسبة الضغط على النصوص | السرعة | أفضل استخدام | ملاحظات |
---|---|---|---|---|
ZIP (DEFLATE) | جيدة | سريعة | تبادل ملفات عام | مدعومة في كل الأنظمة |
7z (LZMA/LZMA2) | ممتازة | أبطأ | الأرشفة القصوى | أفضل من ZIP غالبًا على النصوص |
RAR | ممتازة | متوسطة | ملفات مختلطة | برامج خاصة / ترخيص |
zstd (.zst) | جيدة جدًا | سريعة جدًا | نسخ احتياطي/أداء | توازن رائع بين السرعة والنسبة |
xz | ممتازة | بطيئة | أقصى ضغط للملفات النصية | وقت إنشاء أطول |
حلول عملية: كيف تمنع زيادة الحجم بعد الضغط؟
- لا تُعيد ضغط ملفات مضغوطة مسبقًا (JPEG/PNG/MP3/MP4/ZIP/RAR/7z). بدلاً من ذلك:
- إعادة ترميز الصور/الفيديو بنفس الصيغة مع إعدادات أكثر كفاءة (مثلاً: JPEG WebP/AVIF، فيديو HEVC/AV1) إن كان مسموح خسارة بسيطة.
- للضغط دون فقدان لصور PNG: استخدم أدوات تحسين مثل
pngcrush
أوoptipng
.
- فعّل “التخزين دون ضغط” للملفات غير القابلة للضغط:
- في ZIP/7z اختر طريقة Store لهذه الامتدادات لتقليل الوقت ومنع الزيادة.
- اجمع الملفات الصغيرة في أرشيف “صلب” (Solid) مثل 7z Solid لتقليل Overhead وتحسين النسبة على مجموعة كبيرة متشابهة.
- اختر الخوارزمية المناسبة لنوع البيانات: نصوص/كود ⟶ 7z(LZMA2) أو xz؛ مختلطة ⟶ 7z أو zstd بمستوى متوسط.
- اضبط المستوى بحكمة: أعلى مستوى ليس دائمًا أفضل (زمن أطول مقابل فرق طفيف بالحجم).
- تصفية ما قبل الضغط: إزالة ملفات لا حاجة لها (Logs/Cache) قبل الأرشفة لتقليل الحجم النهائي.
أوامر واستخدامات سريعة على الأنظمة المختلفة
Windows (PowerShell)
أرشفة مجلد إلى ZIP:
Compress-Archive -Path "C:\Data\Project" -DestinationPath "C:\Backup\project.zip"
نصيحة: لا فلاتر للـStore افتراضيًا؛ استخدم أدوات مثل 7-Zip لخيارات متقدمة (Store/Solid/LZMA).
macOS
ضغط ملف/مجلد إلى ZIP (Finder: زر يمين ⟶ ضغط):
zip -r project.zip Project/
للتحكم أكثر، استخدم 7z
بعد تثبيت p7zip:
7z a -t7z -m0=lzma2 -mx=5 -ms=on archive.7z Project/
Linux
gzip (جيد للملفات الفردية النصية):
gzip -k -9 biglog.txt # ينتج biglog.txt.gz ويُبقي الأصل (-k)
tar مع zstd (توازن ممتاز):
tar -I 'zstd -3' -cf backup.tar.zst folder/
tar مع xz (أقصى ضغط أبطأ):
tar -I 'xz -6' -cf backup.tar.xz folder/
تشخيص سريع: لماذا لم ينقص الحجم؟
العَرَض | السبب المحتمل | الإجراء المقترح |
---|---|---|
الحجم زاد بعد الضغط | ملفات غير قابلة للضغط + Overhead | استخدم Store لهذه الامتدادات أو لا تضغطها؛ فكّر في تحسين الصيغة الأصلية |
خفض بسيط جدًا للحجم | بيانات شبه مضغوطة | جرّب 7z/LZMA2 أو zstd، أو مستويات أعلى، أو Solid للأعداد الكبيرة |
وقت ضغط طويل جدًا | مستوى ضغط مبالغ فيه | اخفض المستوى إلى متوسط (mx=5) — فارق الحجم غالبًا طفيف |
الخلاصة
من الطبيعي أن يتغير حجم الملف عند ضغطه ويشغل مساحة أكبر أحيانًا—خاصةً مع الملفات المضغوطة أصلاً أو المشفرة أو عندما يكون لديك آلاف الملفات الصغيرة. استخدم الإرشادات أعلاه لاختيار الصيغة والخوارزمية المناسبة، وفعّل Store للملفات غير القابلة للضغط، وطبّق Solid archive عند الحاجة لتحصل على نتائج أفضل فعلًا.
الأسئلة الشائعة (FAQ)
لماذا حجم الملف بعد الضغط أكبر من قبل؟
لأن الأرشيف أضاف رؤوسًا وفهرسة (Overhead) ولم يجد الخوارزم نمطًا لضغطه، خاصة مع JPEG/MP4/MP3 والملفات المشفرة.
هل ضغط PNG/JPEG يقلل الحجم؟
غالبًا لا؛ هي مضغوطة مسبقًا. استخدم أدوات تحسين PNG أو حوّل إلى WebP/AVIF إذا تقبل فقدًا بسيطًا.
ما أفضل صيغة لضغط مجلد كود ونصوص؟
7z (LZMA2) أو xz لنسبة أعلى؛ zstd لتوازن سريع/جيد؛ ZIP للمتوافقة عالميًا.
كيف أتجنب زيادة الحجم عند ضغط مجموعة صور؟
استخدم خيار Store أو لا تضغطها داخل ZIP؛ بدّل إلى صيغ حديثة أصغر (WebP/AVIF) قبل الأرشفة.