فشرده سازی چیست؟
به عبارت ساده تر، فشرده سازی فایل (یا فشرده سازی داده ها) عملی برای کاهش اندازه فایل در ضمن حفظ داده های اصلی است. انجام این کار باعث می شود علاوه بر این، انتقال فایل از طریق اینترنت یا موارد دیگر، فضای کمتری را در یک دستگاه ذخیره سازی داشته باشد. توجه به این نکته ضروری است که فشرده سازی نامتناهی نیست. درحالی که فشرده سازی پرونده در یک ZIP، سایز آن را کاهش می دهد. شما نمی توانید فشرده سازی فایل را ادامه دهید تا سایز آن به دوباره کاهش یابد. به طورکلی، فشرده سازی پرونده به دو نوع با اتلاف و بدون اتلاف تقسیم می شود. همراه ساعد نیوز باشید تا هر آنچه که باید در مورد فشرده سازی فایل ها میخواهید بدانید را آموزش دهیم.
فشرده سازی فایل
فشرده سازی داده ها تقریبا همه جا کاربرد دارد. بسیاری از انواع فایل از داده های فشرده استفاده می کنند. بدون فشرده سازی داده، حجم یک موزیک ۳ دقیقه ای تقریبا ۱۰۰ مگابایت خواهد شد و حجم یک ویدئوی ده دقیقه ای می تواند به یک گیگابایت برسد. در فشرده سازی داده ها با حذف داده های غیر ضروری و در عین حال حفظ اطلاعات، می توان حجم فایل های بزرگ را کاهش داد.
فشرده سازی داده را می توان به صورت کاهش تعداد بیت های مورد نیاز برای نمایش داده ها تفسیر کرد. با فشرده سازی داده می توان در ظرفیت حافظه صرفه جویی کرد، سرعت انتقال فایل را افزود و هزینه ی حافظه و ظرفیت شبکه را کاهش داد.
فشرده سازی بدون اتلاف
در فشرده سازی بدون اتلاف داده ها از الگوریتم هایی استفاده می شود که امکان بازسازی داده های اصلی از فایل فشرده را می دهند. این روش در مقابل فشرده سازی با اتلاف قرار می گیرد که امکان بازسازی داده ها از فایل فشرده را نمی دهد.
فشرده سازی بدون اتلاف زمانی به کار می رود که فایل اصلی با فایلی که از حالت فشرده خارج می شود یکسان باشد. اغلب برنامه های فشرده سازی بدون اتلاف از دو نوع الگوریتم استفاده می کنند: یکی برای تولید مدل آماری از داده های ورودی به کار می رود و دیگری داده های ورودی را با استفاده از این مدل به رشته های بیتی تصویر می کند.
فشرده سازی بدون اتلاف یکی از روش های رایج برای فایل های اجرایی و همچنین فایل های متنی و صفحات گسترده است؛ زیرا در این نوع فایل ها از بین رفتن کلمات یا اعداد می توانند اطلاعات را تغییر بدهد. از مشهورترین فرمت های فشرده سازی بدون اتلاف می توان به Zip،اRAR،اNCW،اFLAC،اALAC، اHD-AAC و WMA و فرمت های گرافیکی مثل PNG اشاره کرد.
فشرده سازی با اتلاف
در روش فشرده سازی با اتلاف، داده ها پس از فشرده سازی با داده های اصلی تفاوت دارند. معمولا دو طرح برای فشرده سازی با اتلاف وجود دارد:
- کدک های تبدیل با اتلاف: براساس این کدک ها، نمونه ی تصویر یا صوت دریافتی به بخش های کوچک تقسیم می شود.
- کدک های پیشگویانه ی با اتلاف: داده های رمزگشایی شده ی قبلی و بعدی برای پیش بینی نمونه ی صوت یا فریم تصویر فعلی به کار می روند.
در برخی سیستم ها از این دو روش همراه با کدک های تبدیل برای فشرده سازی سیگنال های خطای مرحله ی پیش بینی استفاده می شود. مزیت روش با اتلاف نسبت به روش بدون اتلاف این است که در برخی موارد قادر به تولید فایل فشرده ی کوچک تری نسبت به روش بدون اتلاف شناخته شده است در عین حال پیش نیازها را برآورده خواهد ساخت.
از طرفی طرح های فشرده سازی بدون اتلاف، قابلیت بازسازی داده های اصلی را دارند؛ درحالی که طرح های با اتلاف خطر از بین رفتن بخشی از داده ها را برای رسیدن به فشرده سازی بالاتر می پذیرند. در فشرده سازی با اتلاف داده به نقطه ای می رسد که با فشرده سازی مجدد تغییری در فایل اعمال نخواهد شد. از معروف ترین فرمت های فشرده سازی با اتلاف می توان به MP3،اMP4،اAAC،اWMA و Ogg و فرمت های تصویری مثل JPEG اشاره کرد.
تاریخچه ی فشرده سازی
در سال ۱۹۴۹، کلاد شانون و رابرت فانو برای تخصیص کد براساس احتمال های بلاکی، کدگذاری شانون-فانو را ابداع کردند. این روش تنها در رمزنگاری های طول متغیر بهینه است. در سال ۱۹۵۱، دیوید هافمن روشی بهینه ابداع کرد که از درخت دودویی فرکانس مرتب استفاده می کرد و بهینه تر از کدگذاری شانون فانو بود.
در سال ۱۹۷۷، ابراهام لمپل و جیکوب زیو الگوریتم های LZ77 و LZ78 را ابداع کردند. این الگوریتم ها به سرعت به محبوبیت رسیدند. برخی الگوریتم های متداول کنونی مثل DEFLATE ،LZMA و LZX از LZ77 به دست آمدند. به دلیل مشکلات پتنت LZ78 در سال ۱۹۸۴، توسعه دهندگان یونیکس به تطبیق الگوریتم های متن بازی مثل gzip مبتنی بر DEFLATE و فرمت های BZip2 مبتنی بر تبدیل باروز ویلر پرداختند که برای رسیدن به نسبت فشرده سازی بالاتر از LZ78 طراحی شده اند.
پنج نوع فشرده سازی متداول که توسط نرم افزارهای پشتیبان گیری SyncBackFree، SyncBackSE و SyncBackPro پیشنهاد می شوند به شرح ذیل هستند:
الگوریتم فشرده سازی متداول در SyncBackFree
DELFATE
در سال ۱۹۹۳ توسط فیل کاتز ابداع شد. مدرن ترین انواع فشرده سازی بر این روش استوار هستند. در این روش از LZ77 همراه با کدگذاری هافمن استفاده می شود. نتایج فشرده سازی در زمان کوتاهی حاصل می شوند.
روش های فشرده سازی در SyncBackSE
DEFLATE64
این روش در مقایسه با DEFLATE، عملکرد و نرخ فشرده سازی بهتری ارائه می کند. این روش به DEFLATE بهبودیافته معروف است.
تبدیل باروز ویلر (BWT)
در این روش از تبدیل قابل بازگشت برای یافتن الگوهای تکراری در داده ها و مرتب سازی مجدد آن ها استفاده می شود. با مرتب سازی مجدد داده ها، BWT می تواند به شکلی بهینه داده ها را کدگذاری کند و منجر به نرخ های فشرده سازی بالاتر شود.
انواع فشرده سازی در SyncBackPro
BZip2
نوع متن باز تبدیل باروز ویلر که در آن از اصول ساده ای برای دستیابی به تعادل مناسب بین سرعت و نسبت فشرده سازی استفاده می شود. این فرمت در محیط های یونیکس از محبوبیت بالایی برخوردار است و از انواع تکنیک برای تولید خروجی استفاده می کند. BZip2 در برخی نمونه ها مثل کنترل داده های به شدت تصادفی می تواند عملکرد کندی داشته باشد.
LZMA
الگوریتم زنجیره ی لمپل-زیو-مارکف برای اولین بار در فرمت فایل.7z با انتشار نرم افزار آرشیو 7-Zip در سال ۱۹۹۸ معرفی شد. LZMA در اغلب نمونه ها قادر به دستیابی به فشرده سازی بالاتری نسبت به BZip2، DEFLATE و دیگر الگوریتم ها است؛ درحالی که از سرعت و حافظه ی یکسانی استفاده می کند. مشابه BZip2، زنجیره ای از روش های فشرده سازی برای دستیابی به نتیجه به کار می روند.
نمونه های کاربردی
پس از آشنایی با مفاهیم تئوری فشرده سازی فایل، لازم است در عمل و کاربرد هم با آن آشنا شویم. به بیان ساده، فشرده سازی باعث کاهش اندازه ی فایل می شود اما کارایی فایل از بین نمی رود. یک نمونه ی کاربردی فایل های زیپ هستند. وقتی فایل فشرده ای را باز می کنید، ویندوز آن را به صورت خودکار از حالت فشرده خارج می کند و وقتی آن را می بندید مجددا آن را فشرده می کند.
آیا باید کل یک هارد درایو را فشرده کرد
با فشرده سازی، فایل ها فضای کمتری روی دیسک اشغال می کنند ولی پردازنده زمان بیشتری به فایل های فشرده اختصاص می دهد؛ چرا که برای هر بار استفاده باید آن ها را از حالت فشرده خارج و دوباره فشرده کند.از آنجا که اغلب کامپیوترهای کنونی از فضای دیسک زیادی برخوردار هستند، فشرده سازی در حالت عادی توصیه نمی شود؛ چرا که به دلیل مصرف بالای پردازنده، روند کار آهسته می شود؛ اما اگر از برخی فایل ها به ندرت استفاده می کنید بهتر است آن ها را در حالت فشرده نگه دارید.
روش فشرده سازی فایل ها و فولدرها در ویندوز
از اکسپلورر و خط فرمان می توان برای فشرده سازی فایل ها و پوشه ها در ویندوز استفاده کرد. با فشرده سازی یک فایل، تنها همان فایل فشرده می شود؛ اما با فشرده سازی یک پوشه یا حتی یک پارتیشن، می توانید صرفا همان پوشه را فشرده سازی کنید یا قوانین فشرده سازی را برای زیرپوشه ها و تمام فایل های داخل آن هم اعمال کنید. مطابق شکل زیر، فشرده سازی پوشه با استفاده از Explorer دو گزینه را در اختیار شما می گذارد:
Apply Changes to this folder only
Apply changes to this folder, subfolders and files
گزینه ی دوم (Apply changes to this folder, subfolders and files) مانند اسمش عمل می کند. تمام فایل های موجود در پوشه ی فعلی به علاوه کل فایل هایی که در هر کدام از زیرپوشه ها قرار دارند، فشرده می شوند. مشخصه ی فشرده سازی برای فایل های جدید هم اعمال خواهد شد.
هنگام فشرده سازی درایو C یا هر کدام از درایوهای دیگر، گزینه های مشابهی برای فشرده سازی پوشه ها خواهید داشت؛ اما مراحل آن کمی متفاوت است. properties درایو را در Explorer باز کنید و گزینه ی Compress this drive to save disk space را فعال کنید. سپس گزینه ای برای اعمال فشرده سازی بر ریشه ی درایو یا تمام زیرپوشه ها و فایل های آن خواهید داشت. برای فشرده سازی یک فایل یا پوشه در ویندوز ۱۰، نیازی به ابزار یا نرم افزار دیگر ندارید و می توانید از ابزار پیش فرض ویندوز برای فشرده سازی فایل ها و پوشه ها استفاده کنید. برای فشرده سازی فایل در ویندوز مراحل ذیل را دنبال کنید:
۱. به Windows Explorer بروید و روی فایل یا پوشه ی مدنظر برای فشرده سازی کلیک کنید.
۲. گزینه ی Add to archive را انتخاب کنید.
روش فشرده سازی فایل در مک
دستگاه های مک معمولا از ابزار فشرده سازی و فشرده زدایی پیش فرض برای فرمت ZIP برخوردار هستند. ابزار فشرده سازی مک از روش بدون اتلاف استفاده می کند و داده ها و کیفیت آن ها را به خطر نمی اندازد.
۱. به بخش Finder بروید و فایل یا پوشه ی مدنظر برای فشرده سازی را انتخاب کنید.
۲. روی فایل یا پوشه ی مدنظر راست کلیک کنید تا منوی پاپ آپ ظاهر شود، سپس گزینه ی compress را انتخاب کنید.
۴. یک کپی جدید از فایل تولید می شود که به فرمت ZIP خواهد بود.
اگر به دنبال خارج کردن فایل از حالت فشرده و نمایش محتویات آن هستید، باید روی آن دبل کلیک کنید. ابزار تعبیه شده ی مک به صورت خودکار فایل را از حالت فشرده خارج و آن را باز می کند.
فشرده سازی فایل ها در لینوکس
لینوکس و یونیکس از TAR و gzip به عنوان فرمت پیش فرض آرشیو فایل استفاده می کند. برای فشرده سازی فایل ها باید برخی دستورها را به خاطر بسپارید. بخشی از دستورهای فشرده سازی متداول لینوکس عبارت اند از:
tar -czvf name_of_archive.tar.gz/location_of_directory
اگر پوشه ای به نام dir1 در پوشه ی فعلی داشته باشید و بخواهید آن را در فایلی به نام dir1.archived.tar.gz ذخیره کنید، باید دستور ذیل را اجرا کنید:
tar -czvf dir1archived.tar.gz dir1
محدودیت های فشرده سازی فایل
NTFS تنها فایل سیستم ویندوزی است که از فایل فشرده پشتیبانی می کند؛ در نتیجه پارتیشن هایی که با FAT فرمت شده اند، نمی توانند از فشرده سازی فایل برخوردار شوند. برخی هارددرایوها را می توان برای استفاده از کلاسترهای بزرگ تر از مقدار پیش فرض ۴ کیلوبایت فرمت کرد. هر فایل سیستمی که از کلاستر بزرگ تر از این مقدار پیش فرض استفاده کند، امکان فشرده سازی نخواهد داشت.
فشرده سازی برخی فایل ها در ویندوز مشکل ساز می شود؛ زیرا برای راه اندازی ویندوز لازم هستند. BOOTMGR و NTLDR دو نمونه از فایل هایی هستند که نباید فشرده سازی شوند. نسخه های جدیدتر ویندوز امکان فشرده سازی این انواع فایل را نمی دهند.
نکات بیشتر درباره ی فشرده سازی فایل ها
بدیهی است فشرده سازی فایل های بزرگ تر نیاز به زمان بیشتری دارد. زمان کل فشرده سازی به تعداد فایل های موجود در پوشه یا هارددرایو، اندازه ی فایل ها و سرعت کلی کامپیوتر وابسته است. برخی فایل ها به خوبی فشرده سازی نمی شوند درحالی که برخی دیگر تا ده درصد از اندازه ی اصلی فایل یا حتی کمتر فشرده می شوند. برای مثال اغلب فایل های ISO هنگام ساخت فشرده می شوند در نتیجه فشرده سازی مجدد آن ها با امکانات ویندوزی تأثیر زیادی بر اندازه ی کلی فایل نخواهد گذاشت. به طور کلی در فشرده سازی فایل ها باید به نکات ذیل توجه کنید:
- از تبدیل فرمت با اتلاف به فرمت بدون اتلاف خودداری کنید.
- فشرده سازی متوالی یک فایل باعث افت کیفیت آن می شود.
- برخی از نرم افزارهای ضد باج افزار و آنتی ویروس نمی توانند فایل ها و پوشه های فشرده را اسکن کنند؛ به این ترتیب دستگاه شما در معرض ریسک امنیتی قرار می گیرد. قبل از خارج کردن فایل از حالت فشرده، آن را با استفاده از آنتی ویروس مناسب و سازگار با فایل های فشرده اسکن کنید.
- هنگام فشرده سازی یا خارج کردن فایل از حالت فشرده ممکن است خطاهایی به دلیل کمبود فضای دیسک یا حافظه رخ دهند.
نرم افزارهای متداول فشرده سازی
به غیر از ابزارهای ویندوزی، ابزارهای متعدد دیگری برای فشرده سازی فایل ها وجود دارند. هر کدام از این نرم افزارها از مجموعه ی متفاوت فرمت های آرشیو پشتیبانی می کند و امکانات مختلفی ارائه می دهد؛ به همین دلیل انتخاب بهترین نرم افزار فشرده سازی زمان بر است. درادامه فهرستی از بهترین نرم افزارهای فشرده سازی ارائه می شود:
WinZip
WinZip یکی از محبوب ترین نرم افزارهای فشرده سازی فایل است. با این نرم افزار می توانید به صورت بهینه به فشرده سازی و اشتراک گذاری فایل بپردازید و در صورت نیاز فایل را از حالت فشرده خارج کنید. این نرم افزار از قابلیت اتصال به حافظه ی ابری متعددی مثل گوگل درایو، وان درایو و دراپ باکس برخوردار است. یکی از قابلیت های وین زیپ، ZipSend است که امکان فشرده سازی فایل های بزرگ و ارسال آن ها به عنوان پیوست ایمیل را می دهد. با توجه به قابلیت ها و سهولت استفاده، WinZip یکی از بهترین نرم افزارهای فشرده سازی فایل است.
فرمت های تحت پشتیبانی: zip، tar، gzip، cab، rar، 7z، IMG، ISO، XZ، VHD، VMDK، lha/lzh
7zip
7zip یکی از محبوب ترین نرم افزارهای فشرده سازی فایل متن باز با نرخ فشرده سازی بالا است. اگر اولویت شما به حداقل رساندن اندازه ی فایل است، 7zipمی تواند گزینه ی ایده آلی باشد. این نرم افزار به دلیل ماهیت متن باز رایگان است. 7zipبا رمزنگاری AES-256 و ویژگی های مفیدی مثل مدیریت فایل یکپارچه، سازگاری با Windows Shell، قابلیت های خوداستخراجی برای فرمت 7z و پلاگین FAR manager در سطح تجاری و کسب وکارها کاربرد دارد. یکی از مزیت های 7-zip نسبت به دیگر نرم افزارهای فشرده سازی، رایگان بودن آن است.
فرمت های تحت پشتیبانی: 7z، XZ، BZIP2، GZIP، TAR، ZIP، WIM، AR، ARJ، CAB، CHM، CPIO، CramFS، DMG، EXT، FAT، GPT، HFS، IHEX، ISO، LZH، LZMA، MBR، MSI، NSIS، NTFS، QCOW2، RAR، RPM، SquashFS، UDF، UEFI، VDI، VHD، VMDK، WIM، XAR و Z.
WinRAR
WinRAR یکی از دیگر نرم افزارهای محبوب فشرده سازی است. این نرم افزار برای فشرده سازی فایل های چندرسانه ای توصیه می شود؛ زیرا از بهترین روش فشرده سازی برای این فایل ها استفاده می کند. دیگر ابزارهای فشرده سازی تنها قادر به استخراج فایل های RAR هستند؛ اما WinRAR سازنده ی فایل های RAR است. می توانید از قابلیت solid archive box برای فشرده سازی فایل های دسته ای استفاده کنید. WinRAR علاوه بر رمزنگاری ۲۵۶ بیتی AES، قابلیتی برای تقسیم فایل به بخش های مجزا، تعمیر فایل های آسیب دیده و پشتیبانی از نام فایل طولانی ارائه می کند. البته رابط کاربری WinRAR کمی برای کاربرهای تازه کار آزاردهنده است. همچنین در نسخه ی رایگان با عنوان پاپ آپ ها و تبلیغات آزاردهنده روبه رو می شوید.
فرمت های تحت پشتیبانی: RAR، CAB، ZIP، UUE، Z، ACE، ARJ، 7-ZIP و TAR
PeaZip
اگر زیاد با فایل ZIP سروکار دارید، PeaZip می تواند گزینه ی مناسبی باشد. این نرم افزار، فشرده سازی و آرشیو فایل ها را با حداکثر سهولت انجام می دهد. PeaZIP از ۱۵۰ فرمت متفاوت پشتیبانی می کند و از امکاناتی مثل مدیریت رمز عبور رمزنگاری شده، احراز هویت دومرحله ای، جستجوی فایل های مضاعف، تقسیم آرشیو ها به چند فایل متعدد و زمان بندی آرشیوها برخوردار است. PeaZip دارای امکانات پیشرفته ای برای فشرده سازی انواع فایل با منابع محدود است.
فرمت های تحت پشتیبانی
- 7z، apk اندروید گوگل، bz، bz2، bzip2، tbz2، tbz، gz، gzip، tgz، tpz، tar، zip، zipx، z01، smzip، arj، cab، chm، chi، chq، chw، hxs، hxi، hxr، hxq، hxw، lit، cpio، deb، lzh، lha، rar، r01، 00، rpm، z، taz، tz، iso،pet، pup، pak، pk3، pk4، slp، xpi، wim، u3p، lzma86، lzma، udf، xar، Apple's dmg، part1، split، swm، tpz، kmz، xz، txz، vhd، mslz، apm، mbr، fat، ntfs، exe، dll، sys، msi، msp، quad، balz، bcm، zpaq، paq8f، paq8jd، paq8l، paq8o، lpaq1، lpaq5، lpaq8،gnm
- فرمت های اوپن آفیس و لیبر آفیس: ، ots، odm، oth، oxt، odb، odf، odg، otg، odp، otp، odt، ott
- فرمت های مایکروسافت آفیس: doc، dot، xls، xlt، ppt، pps، pot، docx، dotx، xlsx،
- فلش: swf، flv
- جاوا: war، ear، jar
Zipware
Zipware نرم افزار فشرده سازی پلتفرم ویندوز است. این نرم افزار از تمام فرمت های اصلی آرشیو پشتیبانی و به راحتی فایل های آرشیو کوچک و بزرگ را مدیریت می کند. در Zipware می توانید فایل های آرشیو دارای رمز عبور ایجاد کنید، عملیات آرشیو را از ویندوز اکسپلورر انجام بدهید و فرمت های آرشیو محبوب را به 7z و Zip تبدیل کنید. این نرم افزار امکان تقسیم فایل های آرشیو به بخش های مختلف را فراهم می کند. علاوه بر این Zipware از قابلیت password manager برای ذخیره سازی و مدیریت رمز عبور برخوردار است. این نرم افزار رایگان است.
فرمت های تحت پشتیبانی: ZIP، ZIPX، 7Z، RAR، RAR5، ISO، VHD، MSI، GZIP، BZIP2، TAR، CPIO، DEB، DMG، LZH، LZMA، LZMA2، PPMd، NSIS، RPM، UDF، WIM، XAR، XPI، CBR، CBZ، XZ، Z.
Hamster Zip Archiver
اگر به دنبال نرم افزاری با سهولت استفاده ی بالا و از طرفی عملیات فشرده سازی پیشرفته هستید، hamster zip archiver گزینه ی خوبی است. این نرم افزار رایگان از تمام فرمت های شناخته شده پشتیبانی می کند و واسط کاربری درگ اند دراپ آن، فشرده سازی فایل را آسان می سازد. سازگاری با سرویس های ابری مثل گوگل درایو، دراپ باکس و یاندکس دیسک از دیگر امکانات این نرم افزار است. hamster zip archiver تنها برای پلتفرم ویندوز در دسترس است.
فرمت های تحت پشتیبانی: zip، 7z، arj، bz2، tbz، gzip، deb، dmg، img، gz، tgz، hfs، lzh، rmp، pkg، z، taz، cab، iso، rar، tar، wim، swm و jar.
Express Zip File Compression
express zip file compression نرم افزاری بهینه برای فشرده سازی فایل است. نسخه ی رایگان این نرم افزار برای کاربرهای خانگی و مبتدی و انجام وظایف روزمره ی فشرده سازی مثل زیپ کردن یا آنزیپ کردن فایل ها، فشرده سازی فایل ها برای ارسال ایمیلی، باز کردن فایل های فشرده با فرمت های آرشیوی مثل RAR، TAR، 7Z و CAB طراحی شده است. از این نرم افزار می توانید برای فشرده سازی و کاهش اندازه ی فایل های مدنظر و اشتراک گذاری فایل با دوستان و خانواده استفاده کنید.
فرمت های تحت پشتیبانی: Zip، zipx، rar، tar، tgz، tar.gz، gz، gzip، 7z، cab، iso، img، dmg، arj، jar، bz2، tar.bz2، tar.xz، wim، xz، z، bkz، nco، apk، lzh، pkpass، مولتی دیسک (zip.00x) و مولتی دیسک (7z.001).
انتخاب بهترین نرم افزار فشرده سازی فایل
هنگام انتخاب بهترین نرم افزار برای فشرده سازی فایل، باید نکاتی مثل فرمت های تحت پشتیبانی، سیستم عامل و نسبت فشرده سازی را در نظر بگیرید. علاوه بر ابزارهای فشرده سازی یادشده، تعداد زیادی ابزار آنلاین برای فشرده سازی یا خارج کردن فایل ها و پوشه ها از حالت فشرده وجود دارد؛ اما ممکن است این ابزارها برای داده های حساس مناسب نباشند.