For faster navigation, this Iframe is preloading the Wikiwand page for Zlib.

Zlib

zlib
zlib logo
İlk yayınlanma1 Mayıs 1995 (1995-05-01)
Güncel sürüm1.3.1 / 22 Ocak 2024 (7 ay önce) (2024-01-22)
Programlama diliC
İşletim sistemiÇoklu ortam
TürVeri sıkıştırma
Resmî sitesizlib.net
Kod deposu Bunu Vikiveri'de düzenleyin

zlib, veri sıkıştırma için kullanılan yazılım kütüphanesidir. Jean-loup Gailly ve Mark Adler tarafından yazılmış olan kütüphane, yine onların yazdığı gzip dosya sıkıştırma programında kullanılan DEFLATE algoritmasının soyutlanmış halidir. zlib ayrıca Linux, MacOS ve İOS gibi birçok yazılımın kritik bir parçasıdır. PlayStation 4, PlayStation 3, Wii U, Wii, Xbox One ve Xbox 360 gibi oyun konsollarında da zlib kütüphanesi kullanılmaktadır.

zlib'in ilk genel sürümü olan 0.9, 1 Mayıs 1995'te libpng görüntü kitaplığıyla kullanılmak üzere tasarlanmış bir kütüphane olarak yayınlandı. zlib, zlib Lisansı ile dağıtılan bir özgür yazılımdır.

zlib sıkıştırılmış verileri genellikle bir gzip veya zlib sarmalayıcısı ile yazılır. Sarmalayıcı, bir başlık ve treyler ekleyerek ham DEFLATE verisini kapsüller. Bu yöntem, ham DEFLATE versi tarafından sağlanmayan akış tanımlama ve hata algılama gibi özellikleri mümkün kılar.

Neredeyse tüm sistemlerde bulunan gzip dosya biçiminde kullanılan gzip başlığı, bir dosya adını ve diğer dosya sistemi bilgilerini sakladığı için zlib başlığından daha büyüktür.

Eylül 2018 itibarıyla zlib yalnızca DEFLATE ismindeki algoritmayı kullanır. Bu algoritma çok az sistem kullanımı ile iyi miktarda sıkıştırma sağlar. Algoritma ayrıca Zip arşiv formatında kullanılmaktadır. Algoritmanın başlığı, başka algoritmalar ile uyumlu olmasına karşın şu ana kadar hiçbir başka algoritmaya ihtiyaç duyulmamıştır.

Kaynak kullanımı

[değiştir | kaynağı değiştir]

zlib, işlemci ve bellek kullanımının denetimi için bir takım kolaylıklar sağlar. Sıkıştırma hızını belirlemek için sıkıştırma seviyesiyle oynamak mümkündür. Ayrıca, bazı gömülü sistemler gibi kısıtlı bellek ortamlarında yararlı olan bellek muhafaza tesisleri de vardır.

Sıkıştırma, belirli veri türleri için biçimlendirilebilir. Kütüphane belirli veri türlerini her zaman sıkıştırmak için kullanılıyorsa belirli bir strateji kullanmak sıkıştırmayı ve performansı artırabilir. Örneğin, eğer veri uzun ve tekrar eden byte'lar içeriyorsa run-lenght encoding (RLE) stratejisi daha yüksek hızlar için iyi sonuçlar verebilir. Umumi veriler için ise varsayılan strateji tercih edilir.

Sıkıştırılmış verilerdeki hatalar tespit edilebilir ve atlanabilir. Ayrıca, sıkıştırılmış akışa "tam yıkama" noktaları yazılırsa bozuk veriler atlanabilir ve açma bir sonraki yıkama noktasında yeniden senkronize edilir. - Bozuk verilerin herhangi bir hata kurtarması sağlanmamasına rağmen. Tam yıkama noktaları, çeşitli çoklu medya uygulamalarında olduğu gibi bazı veri kayıplarının önemsiz olduğu güvenilir olmayan kanallardaki büyük veri akışları için kullanışlıdır. Ancak, birçok yıkama noktası oluşturmak, sıkıştırma miktarını (oranını) etkilediği kadar hızı da etkileyebilir.

Sıkıştırılabilen veya açılabilen veri uzunluğu için herhangi bir sınırlama yoktur. Kütüphaneye yapılan tekrarlı çağrılar, sınırsız sayıda veri bloğunun işlenmesine izin verir. Bazı yardımcı kodlar (sayaçlar), uzun veri akışları için taşmadan muzdarip olabilir; ancak bu, gerçek sıkıştırma veya açma işlemlerini etkilemez.

Uzun (veya sonsuz) bir veri akışını sıkıştırırken düzenli tam boşaltma noktalarının yazılması önerilir.

Günümüzde zlib, DEFLATE algoritmasını kullanan binlerce uygulama ile fiili bir standarttır.[1] Bu uygulamalardan en ünlüleri şu şekilde sıralanabilir:

zlib ayrıca özgür yapısı sayesinde Apple'ın İPhone ve Sony'nin PlayStation marka cihazlarında kullanılmaktadır.

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  1. ^ zlib Applications, 18 Nisan 2002, 10 Haziran 2019 tarihinde kaynağından arşivlendi, erişim tarihi: 4 Mart 2021 

Dış bağlantılar

[değiştir | kaynağı değiştir]
{{bottomLinkPreText}} {{bottomLinkText}}
Zlib
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?