ZapFile
kodlamageliştiricirehber

Base64 Kodlama Nedir, Nasıl Kullanılır?

Base64 kodlamanın ne olduğu, neden var olduğu, web geliştirmede kullanım alanları ve metin ile dosyaları online kodlama/çözme yöntemi.

5 dk okuma

Base64 web geliştirmede sürekli karşımıza çıkar: gömülü resimler, JWT token'ları, e-posta ekleri, API yanıtları. Onu anlamak pek çok işi çok daha anlaşılır kılar.

Base64 Nedir?

Base64, ikili veriyi metne çeviren bir kodlama yöntemidir. İkili veriyi (baytları) yalnızca 64 yazdırılabilir ASCII karakteriyle gösterir:

A–Z, a–z, 0–9, +, / (dolgu için =)

"Base64" adı bu 64 karakterden gelir. Her 3 bayt ikili veri, 4 Base64 karakterine dönüşür.

Base64 Neden Var?

Birçok sistem başlangıçta yalnızca metin işlemek için tasarlandı: e-posta (SMTP), HTML öznitelikleri, JSON alanları, URL'ler. Metin tabanlı bir sistemin içine ikili veri (bir resim, PDF ya da ham baytlar) koymanız gerektiğinde, bu veriyi güvenle metin olarak göstermenin bir yoluna ihtiyacınız olur.

Base64 bu sorunu, her türlü ikili içeriği metin ayrıştırıcıların yanlış yorumlamayacağı güvenli, yazdırılabilir karakterlerden oluşan bir dizeye çevirerek çözer.

Yaygın Kullanım Alanları

Resimleri HTML/CSS'e Gömmek

Bir resim dosyasına bağlantı vermek yerine:
<img src="data:image/png;base64,iVBORw0KGgo..." />
Bu yöntem, tek dosyalık HTML dışa aktarımlarındaki ya da dış bağlantıların engellenebildiği e-posta şablonlarındaki küçük simgeler için kullanışlıdır.

JSON Web Token'ları (JWT)

JWT'ler noktalarla ayrılmış, Base64 ile kodlanmış üç bölümden oluşur: Header.Payload.Signature

Başlık ve içerik, Base64 ile kodlanmış JSON nesneleridir. Dikkat: şifrelenmiş değil, yalnızca kodlanmıştır; herkes çözebilir. Bir token'ın içeriğini incelemek için ZapFile'ın JWT Çözücüsünü kullanın.

E-posta Ekleri (MIME)

E-posta ekleri, düz metin e-posta protokolünün içine gömülmüş, Base64 ile kodlanmış ikili dosyalardır. E-posta istemciniz bunu otomatik olarak halleder.

API Yanıtları

JSON ikili veriyi doğrudan desteklemediği için bazı API'ler ikili verileri (resim, PDF) JSON yanıtlarının içinde Base64 dizeleri olarak döndürür.

HTTP Basic Kimlik Doğrulama

Authorization: Basic başlığı, kullanıcıadı:şifre bilgisini Base64 ile kodlar. Bu şifreleme değildir, yalnızca kodlamadır. Her zaman HTTPS kullanın.

Online Kodlama ve Çözme

ZapFile'ın Base64 Kodlayıcı/Çözücüsünü şunlar için kullanın:

  • Metin veya dosyaları Base64 dizelerine kodlamak

  • Base64 dizelerini metne ya da indirilebilir dosyalara geri çözmek

  • Gömülü resim veri URL'lerini anında önizlemek

Base64 Veriyi Sıkıştırır mı?

Hayır, tam tersi. Base64 veri boyutunu yaklaşık %33 artırır. Üç bayt dört karaktere dönüşür. Base64 uyumluluk içindir, sıkıştırma için değil.

Base64 mi, Base64url mi?

Standart Base64, URL'lerde özel anlamı olan + ve / karakterlerini kullanır. Base64url bunları - ve _ ile değiştirerek çıktıyı URL parametreleri ve JWT token'ları için güvenli hale getirir.

Özet

  • Base64, ikili veriyi metin tabanlı sistemlerde kullanmak için yazdırılabilir ASCII metne çevirir
  • Gömülü resimlerde, JWT'lerde, e-posta eklerinde ve API yanıtlarında yaygındır
  • Boyutu ~%33 artırır; uyumluluk içindir, sıkıştırma için değil
  • Bir JWT'yi veya Base64 dizesini ZapFile'ın araçlarıyla anında çözün

İlgili yazılar