🛠️

Whiz Tools

Build • Create • Innovate

Base64 Görüntü Çözücü ve Görüntüleyici | Base64'ü Görüntülere Dönüştür

Base64 ile kodlanmış görüntü dizelerini anında çözün ve önizleyin. JPEG, PNG, GIF ve diğer yaygın formatları destekler, geçersiz girişler için hata ayıklama sağlar.

Base64 Görüntü Kodlayıcı ve Görüntüleyici

Base64 kodlu bir görüntü dizesini yapıştırın ve görüntüyü görüntülemek için çözün.

Görüntü Önizlemesi

Görüntü göstermek için hiçbir görüntü yok. Otomatik olarak çözülmesi için bir base64 dizesi yapıştırın.

JPEG, PNG, GIF ve diğer yaygın görüntü formatlarını destekler.

Talimatlar

1. Yukarıdaki metin alanına base64 kodlu bir görüntü dizesi yapıştırın.

2. Görüntü, yazarken otomatik olarak çözülecek veya 'Görüntüyü Çöz' butonuna tıklayın.

3. Çözülmüş görüntü aşağıdaki önizleme alanında görünecektir.

Not: En iyi sonuçlar için dize 'data:image/' ile başlamalıdır, ancak araç bu öneki olmayan dizeleri de çözmeye çalışacaktır.

📚

Dokümantasyon

Base64 Görüntü Çözümleyici ve Görüntüleyici

Giriş

Base64, ikili veriyi ASCII dize formatında temsil eden bir ikili metin kodlama şemasidir. Genellikle, ikili verilerin doğrudan dahil edilemeyeceği HTML, CSS, JavaScript, JSON ve diğer metin tabanlı formatlarda görüntü verilerini gömmek için kullanılır. Bu araç, base64 ile kodlanmış görüntü dizelerini çözümlemenizi ve sonuçta oluşan görüntüleri doğrudan tarayıcınızda görmenizi sağlar.

Base64 kodlaması, orijinal ikili veriye kıyasla veri boyutunu yaklaşık %33 artırır, ancak görüntülerin ayrı dosya indirmeleri gerektirmeden doğrudan metin tabanlı belgelerde dahil edilmesini sağlar. Bu, gömme kolaylığının boyut artışını aştığı küçük görüntüler (ikonlar, logolar veya basit grafikler gibi) için özellikle yararlıdır.

Base64 Görüntü Çözümleyici aracımız, base64 ile kodlanmış bir görüntü dizesini yapıştırabileceğiniz ve anında çözümlenmiş görüntüyü görebileceğiniz basit bir arayüz sunar. JPEG, PNG, GIF, WebP ve SVG dahil olmak üzere tüm yaygın görüntü formatlarını destekler ve hem veri URL formatını (data:image/... ön eki ile) hem de ham base64 dizelerini işleyebilir.

Teknik Detaylar

Base64 Kodlama Formatı

Base64 kodlaması, ikili veriyi 64 ASCII karakterine (A-Z, a-z, 0-9, + ve /) dönüştürür ve = padding için kullanılır. Web'deki görüntüler için base64 verisi genellikle aşağıdaki yapıda bir veri URL'si olarak biçimlendirilir:

1data:[<medya türü>][;base64],<veri>
2

Örneğin, base64 ile kodlanmış bir PNG görüntüsü şöyle görünebilir:

1data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
2

Bu formatın bileşenleri:

  • data: - URL şeması
  • image/png - Verinin MIME türü
  • ;base64 - Kodlama yöntemi
  • , - Başlık ile veri arasında bir ayırıcı
  • Gerçek base64 ile kodlanmış veri

Çözümleme Süreci

Base64 görüntü dizesi çözümlenirken aşağıdaki adımlar gerçekleşir:

  1. Dizenin veri URL'si ön eki içerip içermediği belirlenir.
  2. Eğer bir ön ek varsa, görüntü formatını belirlemek için MIME türü çıkarılır.
  3. Base64 veri kısmı izole edilir ve ikili veriye dönüştürülür.
  4. İkili veri, görüntü olarak görüntülenebilecek bir Blob veya nesne URL'sine dönüştürülür.

Giriş, veri URL'si ön eki içermiyorsa, çözümleyici bunu ham base64 verisi olarak işlemeye çalışır ve görüntü türünü çözümlenen ikili başlıktan çıkarır veya varsayılan olarak PNG olarak ayarlar.

Desteklenen Görüntü Formatları

Bu araç, tüm yaygın web görüntü formatlarını destekler:

FormatMIME TürüTipik Kullanım Alanları
JPEGimage/jpegFotoğraflar, birçok renge sahip karmaşık görüntüler
PNGimage/pngŞeffaflık gerektiren görüntüler, ekran görüntüleri, grafikler
GIFimage/gifBasit animasyonlar, sınırlı renkli görüntüler
WebPimage/webpJPEG/PNG'den daha iyi sıkıştırma sağlayan modern format
SVGimage/svg+xmlVektör grafikler, ölçeklenebilir simgeler ve illüstrasyonlar

Kullanım Durumları

Base64 ile kodlanmış görüntülerin web geliştirme ve diğer alanlarda birçok pratik uygulaması vardır:

  1. HTML/CSS/JS'de görüntüleri gömme: Küçük görüntüleri kodunuza doğrudan dahil ederek HTTP isteklerini azaltır, bu da sayfa yükleme sürelerini iyileştirebilir.

  2. E-posta şablonları: Varsayılan olarak harici görüntüleri engelleyen e-posta istemcilerinde görüntülerin düzgün bir şekilde görüntülenmesini sağlar.

  3. Tek dosya uygulamaları: Tüm kaynakların tek bir dosya içinde gömülü olduğu kendine yeterli HTML uygulamaları oluşturur.

  4. API yanıtları: Görüntü verilerini doğrudan JSON yanıtlarına dahil eder, ayrı görüntü uç noktaları gerektirmeden.

  5. CSS'de veri URI'leri: Küçük simgeleri ve arka plan görüntülerini doğrudan CSS dosyalarına gömer.

  6. Kanvas manipülasyonları: Kanvas görüntü verilerini kaydetmeyi ve aktarmayı kolaylaştırır.

  7. Çevrimdışı uygulamalar: Görüntüleri localStorage veya IndexedDB'de metin dizeleri olarak saklar.

Performans Dikkatleri

Base64 kodlaması kolaylık sağlasa da, bazı dezavantajları vardır:

  • Artan dosya boyutu: Base64 kodlaması veri boyutunu yaklaşık %33 artırır.
  • Tarayıcı önbelleklemesi yok: Gömülü görüntüler, harici görüntü dosyaları gibi ayrı ayrı önbelleğe alınamaz.
  • Çözümleme yükü: Tarayıcılar, görüntülemeye başlamadan önce base64 dizisini çözümlemek zorundadır.
  • Bakım zorlukları: Gömülü görüntüler, referans alınan dosyalardan daha zor güncellenir.

Optimal performans için, base64 kodlaması genellikle yalnızca küçük görüntüler (10KB'den az) için önerilir. Daha büyük görüntüler, ayrı dosyalar olarak daha iyi hizmet alır ve düzgün bir şekilde önbelleğe alınabilir ve optimize edilebilir.

Alternatifler

Farklı kullanım durumları için base64 kodlamasına birkaç alternatif bulunmaktadır:

  1. SVG içe gömme: Vektör grafikler için, inline SVG genellikle base64 ile kodlanmış SVG'den daha iyi performans ve esneklik sağlar.

  2. WebP ve modern görüntü formatları: Bu formatlar, base64 ile kodlanmış JPEG/PNG'den daha iyi sıkıştırma sağlar.

  3. Görüntü sprite'ları: Birden fazla küçük görüntüyü tek bir dosyada birleştirir ve CSS konumlandırması kullanır.

  4. CDN'ler (İçerik Dağıtım Ağları): Üretim siteleri için, optimize edilmiş görüntüleri bir CDN'den sunmak genellikle daha verimlidir.

  5. Veri sıkıştırması: Büyük miktarda ikili veriyi aktarmak için, gzip veya Brotli gibi özel sıkıştırma algoritmaları base64'ten daha verimlidir.

Kod Örnekleri

İşte çeşitli programlama dillerinde base64 ile kodlanmış görüntülerle çalışmanın örnekleri:

1// JavaScript'te bir görüntüyü base64'e dönüştürme (tarayıcı)
2function imageToBase64(imgElement) {
3  const canvas = document.createElement('canvas');
4  canvas.width = imgElement.width;
5  canvas.height = imgElement.height;
6  
7  const ctx = canvas.getContext('2d');
8  ctx.drawImage(imgElement, 0, 0);
9  
10  // Veri URL'si olarak al (base64 dizesi)
11  return canvas.toDataURL('image/png');
12}
13
14// Base64 görüntüyü görüntüleme
15function displayBase64Image(base64String) {
16  const img = new Image();
17  
18  // Veri URL'si ön eki olmayan dizeleri işleme
19  if (!base64String.startsWith('data:')) {
20    base64String = `data:image/png;base64,${base64String}`;
21  }
22  
23  img.src = base64String;
24  document.body.appendChild(img);
25}
26

HTML Uygulaması

İşte base64 görüntüyü doğrudan HTML'de gömme yolu:

1<!-- Base64 görüntüyü doğrudan HTML'de gömme -->
2<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Base64 ile kodlanmış görüntü">
3
4<!-- CSS ile base64 arka plan görüntüsü kullanma -->
5<style>
6.base64-bg {
7  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==');
8  width: 100px;
9  height: 100px;
10}
11</style>
12<div class="base64-bg"></div>
13

Tarihçe

Base64 kodlaması, 1970'lerde elektronik posta sistemlerinin geliştirilmesiyle köklerini bulur. Sadece ASCII metni işlemek üzere tasarlanmış sistemler aracılığıyla ikili verilerin iletilmesi sorununu çözmek için geliştirilmiştir.

Kodlama şeması, 1987 yılında RFC 989'un yayımlanmasıyla resmileşmiştir; bu belge, Gizlilik Geliştirilmiş Posta (PEM) standardını tanımlamıştır. Bu daha sonra RFC 1421 ve diğer ilgili standartlarla güncellenmiştir. "base64" terimi, kodlamanın ikili veriyi temsil etmek için 64 farklı ASCII karakteri kullanmasından gelmektedir.

Web geliştirme bağlamında, base64 kodlaması için görüntüler, 1998'de RFC 2397'de veri URL'lerinin önerilmesiyle popülerlik kazandı. Bu, ikili verilerin doğrudan HTML, CSS ve diğer web belgelerine dahil edilmesini sağladı.

Base64 ile kodlanmış görüntülerin web geliştirmedeki kullanımı, HTTP isteklerini azaltma ve sayfa yükleme sürelerini iyileştirme çabalarıyla 2000'lerin ortalarında daha yaygın hale geldi. Bu teknik, mobil web geliştirme döneminde, daha yavaş mobil bağlantılarda istekleri minimize etmenin kritik olduğu durumlarda özellikle benimsendi.

Bugün, base64 kodlaması web geliştirmede önemli bir araç olmaya devam etmektedir, ancak kullanımı daha hedefli hale gelmiştir, çünkü en iyi uygulamalar evrim geçirmiştir. Modern yaklaşımlar genellikle base64 kodlamasını yalnızca küçük, kritik görüntüler için seçici olarak kullanırken, daha büyük varlıklar için HTTP/2 gibi daha verimli dağıtım yöntemlerini kullanmaktadır.

Referanslar

  1. RFC 4648: Base16, Base32 ve Base64 Veri Kodlamaları
  2. RFC 2397: "data" URL şeması
  3. MDN Web Docs: veri URI'leri
  4. CSS-Tricks: Veri URI'leri
  5. Base64 Görüntü Kodlayıcı
  6. Kullanabilir miyim: Veri URI'leri
  7. Web Performansı: Görüntüleri Ne Zaman Base64 Kodlamalıyız (ve Ne Zaman Değil)