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