Birçoğumuz genel olarak dosya veya klasörlerin boyutlarını azaltmak isteyebiliriz. Gerek başkalarına gönderme, gerek yedek alma veya başka şeyler için. Dosyalar ve klasörler zarar göndermeden ve özelliklerini yitirmeden yazılımsal olarak boyutları bazı tekniklerle küçültülebilir. İşte yapmak istediğiniz bu işleme dosya sıkıştırma işlemi diyoruz.
Mesela elimizde bir A4 kağıt olduğunu farz edelim. A4 kağıdı cebimize koymak için katlamak zorunda kalırız. Aslında bir nevi A4 kağıdını sıkıştırmış oluruz. Dosya sıkıştırma mantığı da buna benziyor diyebiliriz.
Dünya da bir çok dosya sıkıştırma formatları yazılmış ve bunlardan bazıları çok rağbet görmüştür. En çok kullanılan dosya formatı zip ve rardır. Ancak rar formatı zip’ten çok daha performanslı olduğu için bir çok kullanıcı bu formatı tercih etmektedir.
Zip formatı ise windows xp ve sonraki işletim sistemlerinde herhangi bir program yüklemeksizin açılıp arşivlebilmektedir. Bu sebeple daha çok ön plana çıkmaktadır.
Program Dosyayı Nasıl Sıkıştırır?
Sıkıştırma programlarının mantığı aslında neredeyse hepsinde aynıdır. Tüm dosyaların bilgisayar dilinde karşılığı en küçük olarak bitlere denk gelmektedir. Sıkıştırma programları bazen bitlere kadar inerek bazen de hex decimal olarak işlem yapmaktadır. Bunu bir örnekle açıklayalım.
Herhangi bir dosyayı açtığımızda aşağıdaki şekilde bir bit formatında bir rakamlar çıktığı varsayalım.
000001010100000011110111100000000111111000000
Şimdi bunu sıkıştırmak istediğimizde şöyle birşey yapacaz:
00000000 (Sekiz sıfıra karşılık gelen değerimiz) = A
000000 ( Altı sıfıra karşılık gelen değerimiz) = B
00000( Beş sıfıra karşılık gelen değerimiz) = C
111111(Altı bir sayısına karşılık gelen değerimiz) = D
1111(Dört bir sayısına karşılık gelen değerimiz)=E
Bu şekilde yaptığımızda yukarıdaki dosyamızın bit karşılığı
C10101BE0EADB
şeklinde olacaktır.
45 karakter olan değerimiz sıkıştırma işleminden sonra 13 karaktere düştü. Bu şekilde yaklaşık 3,5 kat tasarruf ettik. Gördüğünüz üzere ufak bir mantıkla sıkıştırma işlemimizi yaptık. İşte programların algoritma mantığı bu şekilde çalışıyor. Bu sebeple sıkıştırma programlarında bu yazdığımız karşılık gelmeler ile ilgili kütüphaneler oluyor. Kütüphanesi çok olan sıkıştırma programları çok daha iyi bir sıkıştırma yapıyor.