شاید در زمینهی فشردهسازی فایل ها، (درآوردن آنها بهصورت فرمتهای rar, zip و …)، در ذهنتان سوالاتی بهوجود بیاید. سوالاتی از قبیل:
- هدف از فشرده سازی فایل چیست؟
- چگونه فایلها و پوشهها در یک فایل قرار میگیرند؟!
- فرمتهای مختلف فشرده سازی چه تفاوتی با یکدیگر دارند؟
- چرا بعضی اوقات با فشرده سازی فایلها، حجم فایل فشرده شده بیشتر هم میشود؟! یا حتی گاها هیچ تغییری نمیکند؟!
- چرا بعضی سایتها مثل سایتهای دانلود بازیهای کامپیوتری، بازی را در چندین پارت یک یا دو گیگابایتی برای دانلود قرار داده و آن را بهصورت یک پارت کامل قرار نمیدهند؟!
- نرم افزارهای فشردهسازی، چگونه حجم فایلها را کم میکنند؟!
نرم افزارهای متنوعی در زمینه فشردهسازی فایلها وجود دارند؛ که پرکاربردترین آنها، برنامه WinRAR برای ویندوز (کامیپوتر) و RAR برای اندروید است.
دانلود WinRAR ویندوز (کامپیوتر)
اما در ادامه، به پاسخ تک تک سوالات بالا میپردازیم.
پاسخ به سوالات و پرسشهای بالا
⁉️ فشرده سازی چیست؟
در فشرده سازی، یک یا چند فایل یا پوشه باهم انتخاب و درون یک فایل واحدی قرار گرفته و ذخیره میشوند. برای مثال، یک پوشه بهنام FuLLKade وجود دارد؛ که دو تصویر با نامهای Logo-1.jpg و Logo-2.jpg درون آن قرار دارند. در کنار پوشهی FuLLKade نیز 5 ویدیو با نامهای Trailer-1.mp4 و … قرار دارند. اکنون یک فایل فشرده ایجاد کرده و تمامی این موارد را درون آن ذخیره میکنیم. این فایل فشرده میتواند فرمتهای مختلفی داشته باشد؛ از جمله rar یا zip و … (در مورد فرمت و پسوند فایل، این لینک را مطالعه کنید)
⁉️ مگر میشود یک فایل درون یک فایل دیگر قرار بگیرد؟! این که هیچ، یک پوشه چگونه درون یک فایل قرار میگیرد؟!
هر فایل، چیزی جز داده نیست. بایتهایی که در کنار هم قرار گرفته و اطلاعات یک فایلی را بهوجود آوردهاند. زمانی که یک فایل فشرده ایجاد میشود، این فایل فشرده، باتوجه به فرمت خود، طبیعتا یک ساختمان و ساختار از پیش تعریفشدهای برای خود دارد. از طرفی، این فایل فشرده نیز همانند همان فایلهای دیگر (jpg، mp4 و …)، چیزی جز داده نیست. این فایل فشرده، بایتها یا همان دادههای هر یک از فایلهای انتخاب شده را درون خود قرار میدهد. یک آشپزخانه را در نظر بگیرید که ظرف و ظروف مختلفی دارد؛ برخی از این ظروف، کاربردشان این است که ظروف دیگری را در آنها قرار دهیم. اکنون این فایلهای فشرده نیز ساختار و ساختمانشان این است که بایتهای هر فایلی را بهصورت جدا از هم، درون خود قرار داده و به یک فایل واحدی تبدیل شوند؛ و سپس در زمان دیگری، بتوان آن فایلها را از داخل این فایل فشرده بیرون کشیده و مورد استفاده قرار داد.
اکنون میرسیم به پوشهها؛ اینکه این موارد که یک فایل نیستند، چگونه در فایل فشرده قرار میگیرند؟! درست است که پوشه یک فایل نیست؛ در واقع پوشهها، مسیرهایی برای طبقهبندی و جدا کردن فایلها از یکدیگر هستند. وقتی پوشهای را درون یک فایل فشرده قرار میدهیم؛ آن فایل فشرده، دستهبندیای مطابق با آن پوشه و محتوای داخلش ایجاد میکند.
در برخی از فرمتهای فایلهای فشرده، امکان قرار دادن هر فایلی با هر فرمتی درونشان وجود دارد؛ اما در برخی دیگر، چنین امکانی نیست. برای مثال، rar و zip آزاد هستند که هر چیزی درونشان قرار بگیرد؛ اما GIF یا فایل تصویری متحرک، فقط میتواند شامل تصاویر باشد. اگر درون گیف چیزهای دیگری قرار دهیم، دیگر از ساختار اصلی خود خارج شده و یک فرمت گیف نیست.
⁉️ چرا فشرده سازی میکنیم؟ هدف از فشرده سازی چیست؟
اهداف اصلی فشردهسازی فایلها، موارد زیر هستند:
- تبدیل چندین فایل و پوشه به یک فایل واحد. جهت انتقال آسان، نگهداری آسان و …
- رمزگزاری برروی فایلها
- کمحجم کردن فایلها
برای این موارد، یک مثالی در دنیای واقعی میزنم؛ تصور کنید قصد دارید که به مسافرت بروید. اکنون بایستی اقلام مختلفی را جابهجا کنید؛ انواع لباسها، لوازم بهداشتی و …! حال به نظر شما، همهی اینها را میتوانید یکی یکی با خود به مسافرت ببرید؟! نظرتان راجب یک کیف یا چمدان مسافرتی چیست؟! پس میتوان گفت که فشردهسازی، دقیقا همین معنا را داشته و نقش یک کیف و چمدان را در کامپیوتر ایفا میکند (چندین مورد را در یک جا قرار میدهد؛ میتوان برروی چمدان قفل گزاشت؛ تراکم کمتر میشود). این مثال را در ادامه گسترش خواهیم داد.
⁉️ فرمتهای مختلف فشرده سازی چه تفاوتی با یکدیگر دارند؟
اگر مطلب «فرمت و پسوند فایل چیست» را مطالعه کرده باشید، میدانید که تفاوت فرمتها با یکدیگر، در ساختمان و ساختار آنهاست. طبق مثال قبلی، طبیعتا انواع مختلفی از کیفها و چمدانهای مسافرتی وجود دارند. این مورد به کنار، حتی نحوه چینش اقلام در یک کیف و چمدان مسافرتی یکسان نیز شبیه هم نیست! گاهی اوقات، ده قلم وسیله را در یک کیف و با یک نحوهی چینش بهراحتی جا میدهیم؛ اما ممکن است با نحوهی چینش دیگری، 5 تای آنها نیز به سختی درون این کیف یا چمدان جا بگیرند. بنابراین حتی ممکن است با تنظیماتی، یک فایل rar کمحجمتر از قبل شود.
از طرفی، هر چمدانی خصوصیاتی برای خود دارد؛ یکی از آنها را به راحتی میتوان باز کرد و دیگری را بهسختی؛ یکی را میتوان قفلگذاری قویای برروی آن اعمال کرد؛ اما دیگری خیر. و ما با توجه به نیازهای خود، از چمدان مورد نظرمان استفاده میکنیم.
⁉️ چرا گاهی حجم فایلها با فشرده سازی کمتر نشده و بیشتر هم میشود؟
اولا تمامی فرمتهای فشردهسازی، برای کم حجم کردن فایلها بهکار نمیروند؛ ثانیا برخی از آنها نیز به دلایلی، گاهی نمیتوانند حجم را کمتر کرده و بعضا اندکی بیشتر نیز میشود. اما علت چیست؟!
- ممکن است تنظیمات فشردهسازی مربوط به آن فرمت (مثل rar یا zip) جهت کم حجم کردن، بهدرستی اعمال نشده باشد. برای مثال، فرمت RAR شامل انواع روشهای مختلفی برای فشردهسازی فایل است؛ که یکی از این موارد، فقط برای ذخیره کردن به کار رفته و اصلا کاری به حجم ندارد. و موردهای دیگر به ترتیب کمحجم تر و کمحجمتر میکنند. همچنین هرچقدر که از روشهای قویتر برای کمحجم کردن استفاده شود، مدت زمان فشردهسازی نیز بیشتر خواهد شد. چرا که نرم افزار مجبور است تا الگوریتمهای پیچیدهتری را اجرا کند.
- گاهی اوقات الگوریتمهای فشردهسازی در کمحجم کردن یک فایل به مشکل میخورند. از این رو، یا حجم فایل فشرده تفاوتی نمیکند؛ و یا حتی بیشتر نیز میشود؛ که علت این زیاد شدن نیز بهخاطر وجود بایتهای مربوط به خود فایل فشرده است.
⁉️ فشرده سازی چگونه فایلها را کم حجم میکند؟ مگر میشود یک انسان را کوچک کرده و درون یک لیوان قرار دارد؟!
اولا اینکه بایتها انسان نیستند! آنها صرفا داده هستند نه چیز دیگری. از طرفی، عملیات کم حجم کردن فایلها، الگوریتمهای متنوعی دارد؛ که جای بحث آن در اینجا نیست؛ اما برای درک این موضوع که چگونه میتوان یک چیز گنده را کوچک کرد، یک مثال ساده میزنم.
یک فایل متنی را در نظر بگیرید؛ این فایل متنی، شامل ده هزار کلمه است؛ که تمامی این کلمات بدون استثنا، عبارت «FuLLKade» میباشند. از طرفی فرض کنیم که این فایل، یک مگابایت حجم دارد. حالا بهنظر شما چگونه میتوان این فایل را کم حجم کرد؟! مگر میتوانیم ده هزار کلمه را حذف کنیم؟! پاسخ ساده است! تنها کافیست که یک الگو تعریف کنیم و برای مثال بگوییم:
FuLLKade * 10000
این یک الگوی تعریف شده در ساختمان و ساختار فایل فشرده ما خواهد بود. و ما مشخص میکنیم که این یعنی، ده هزار بار این کلمه قرار است وجود داشته باشد! بنابراین موقع فشرده کردن، الگوریتم، تکرارهای پشت سر هم را بررسی کرده و همهی آنها را بهصورت الگوی بالا ساده میکند؛ سپس فایل فشردهی ما، به یک فایل یک کیلوبایتی تبدیل میشود؛ با اجرای عملیات استخراج یا اکسترکت فایل فشرده، الگوریتم ما، این الگوی مربوط به ساختمان و ساختار خود را تشخیص داده و موقعی که قصد دارد فایل را بیرون بکشد، شروع به تولید 10 هزار کلمهی FuLLKade میکند. بههمین سادگی!
⁉️ چرا برخی از سایتها، مثلا یک بازی 100 گیگی را در پارتهای 2 یا 3 یا 4 گیگی برای دانلود قرار میدهند؟!
سوال خوبی است. واقعا چرا برخی از سایتها، فایل دانلود بازی را بهصورت یک فایل فشردهی واحد برای دانلود قرار نمیدهند؟! اصلا پارت پارت (بخش بخش) بودن فایل فشرده یعنی چه؟!
برخی از فایلهای فشرده میتوانند بهصورت تکه فایلهای مختلی تبدیل شوند. برای مثال، میتوان چندین فایل را به فایل فشردهی rar تبدیل کرد؛ و مشخص کرد که اگر حجم فایل فشرده، از یک اندازهی مشخصی بیشتر شد، بقیهی اطلاعات، درون یک فایل فشردهی دیگری که ادامهی همین فایل قبلی است قرار بگیرند. اما هدف از این کار چیست؟!
تصور کنید قصد دارید 100 گیگ فایل را با فشرده سازی به دوست خود و از طریق یک فلش مموری انتقال دهید؛ اما فلش شما فقط 16 گیگ فضا دارد! بنابراین اگر فایل فشرده، بهصورت تکه تکه باشد، میتوان هربار جند تکه از آن را داخل فلش کپی کرده و انتقال داد. اما این مسئله چه ارتباطی به دانلود دارد؟! شاید بگویید آنها نیز بدین منظور بهصورت پارت پارت برای دانلود قرار میدهند. البته که این مورد نیز میتواند شامل حال این کار شود؛ اما هدف اصلی چیز دیگری است!
تصور کنید فایل فشردهی یک بازی، بهصورت 100 گیگ برای دانلود قرار گرفته است:
- اگر پس از دانلود 50 گیگ، به هر نحو ممکنی آنچه که دانلود کردهاید حذف شود، آیا خشمگین نخواهید شد؟! اما اگر مثلا پارتهای دوگیگابایتی باشد، شما اکنون 25 پارت دانلود کردهاید!
- اگر پس از دانلود کامل فایل 100 گیگابایتی، متوجه شوید که به هر دلیلی، فایل خراب یا ناقص دانلود شده است، آیا خشمگین نخواهید شد؟! البته گاهی میتوان این مورد را اصلاح کرد؛ اما خب درمورد یک فایل 100 گیگابایتی که بسیار حجیم است، انجام چنین کاری نیز طاقت فرسا بوده و احتمال شکست نیز زیاد است. ولی اگر تکه تکه و پارت پارت دانلود کرده بودید، شاید فقط یک مورد خراب دانلود شده بود.
- معمولا فضای روی درایو سی محدود بوده و از طرفی اکثر کاربران نیز مبتدی هستند و نمیتوانند مسیر دانلود پیشفرض را تغییر دهند. اکنون انتظار دارید 100 گیگ فایل در کجای این درایو که ممکن است فضای محدودی داشته باشد قرار بگیرد؟!
- معمولا کاربران با نرم افزارهایی مثل IDM دانلود میکنند؛ که این نرم افزار نیز اقدام به دانلود فایل از چند قسمت کرده و سپس در انتها آن را به هم میچسباند؛ این عملیات چسباندن، طول کشیده و طبیعتا چسباندن یک فایل 100 گیگابایتی طاقت فرسا خواهد بود.
- شاید بتوان گفت که دانلود پارتهای کوچک، فشار کمتری نیز برروی سرورهای سایت دانلودی اعمال میکنند.
نظرات ثبت شده بدون دیدگاه