Base64 Kodla & Çöz
Ücretsiz çevrimiçi Base64 Kodla & Çöz aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.
Sonuç burada görüntülenecek...
Giriş → Kodla
Usage Guide
Base64 Hakkında
Base64, 64 yazdırılabilir karakter kullanarak ikili verileri temsil eden bir kodlama yöntemidir ve metin protokolleri üzerinden ikili veri iletimi gerektiren senaryolarda yaygın olarak kullanılır. Base64, A-Z, a-z, 0-9, +, / (toplam 64 karakter) ve dolgu karakteri olarak = kullanır. Her 3 bayt (24 bit) ikili veriyi 4 Base64 karakterine kodlar ve kodlanmış veriler orijinal boyutun yaklaşık %133'ü olur. Base64 bir şifreleme algoritması değil, herkesin çözebileceği bir kodlama yöntemidir.
Kullanım Adımları
Base64 kodlama ve kod çözme çok basittir:
Kodlama İlkesi
Base64 kodlama, ikili verileri aşağıdaki süreç aracılığıyla ASCII karakterlerine dönüştürür:
Base64 Varyantları
Base64'ün farklı senaryolar için birkaç yaygın varyantı vardır:
Uygulama Senaryoları
Base64, metin protokolleri üzerinden ikili veri iletimi gerektiren senaryolarda yaygın olarak kullanılır:
FAQ
Q: Base64 kodlama veri boyutunu artırır mı?
A: Evet, Base64 kodlama veri boyutunu yaklaşık %33 artırır. Neden: Base64 her 3 baytı (24 bit) 4 karaktere (32 bit) kodlar ve 8 bit ekler. Örneğin, 100KB'lık bir dosya kodlamadan sonra yaklaşık 133KB olur. Etki: 1) Ağ iletim süresini artırır. 2) Depolama alanını artırır. 3) Kodlama/kod çözme için CPU yükünü artırır. Optimizasyon: 1) Büyük dosyalar için kodlamadan önce sıkıştırmayı (gzip gibi) düşünün. 2) URL güvenli Base64 kullanmak ve dolguyu atlamak boyutu biraz azaltabilir. 3) Web kaynakları için Data URL yerine doğrudan ikili iletimi (Blob URL gibi) kullanmayı düşünün.
Q: Base64 ile şifreleme arasındaki fark nedir?
A: Base64 kodlamadır, şifreleme değildir; temelden farklıdırlar. Base64 Kodlama: 1) Amaç: İkili verileri iletim için metin formatına dönüştürme. 2) Tersine çevrilebilirlik: Herkes anahtar olmadan çözebilir. 3) Güvenlik: Güvenlik yok, veri gizliliğini koruyamaz. Şifreleme: 1) Amaç: Veri gizliliğini koruma ve yetkisiz erişimi önleme. 2) Tersine çevrilebilirlik: Şifre çözmek için anahtar gerektirir. 3) Güvenlik: Veri koruması sağlar. Doğru Yaklaşım: Veri koruması gerekiyorsa, önce AES veya benzer algoritmalarla şifreleyin, ardından iletim için Base64 ile kodlayın.
Q: Base64 dizeleri neden = işaretleriyle biter?
A: = Base64'ün dolgu karakteridir ve kodlama uzunluğunu hizalamak için kullanılır. Neden: Base64 her 3 baytı 4 karaktere kodlar. Orijinal veri uzunluğu 3'ün katı değilse, son grup 3 bayttan az olur ve = dolgusu gerektirir. Kurallar: 1) 1 bayt kaldı: 2 karakter + 2 = olarak kodlanır. 2) 2 bayt kaldı: 3 karakter + 1 = olarak kodlanır. 3) Tam 3 bayt: dolgu gerekmez. Örnekler: “A” → “QQ==”, “AB” → “QUI=”, “ABC” → “QUJD”. URL Güvenli: URL'lerde = atlanabilir (URL güvenli Base64) ve kod çözme sırasında otomatik olarak eklenir.
Q: Base64 ile Hex kodlama arasındaki fark nedir?
A: Base64 ve Hex her ikisi de ikili verilerin metin temsilleridir, ancak farklı özelliklere sahiptirler. Base64: 1) 64 karakter kullanır (A-Z, a-z, 0-9, +, /). 2) Kodlanmış boyut orijinal verinin yaklaşık %133'üdür. 3) Daha kompakt, iletim için uygundur. Hex (Onaltılık): 1) 16 karakter kullanır (0-9, A-F). 2) Kodlanmış boyut orijinal verinin %200'üdür. 3) Daha okunabilir, hata ayıklama için uygundur. Seçim Tavsiyesi: 1) Kompakt iletim gerekiyor: Base64 kullanın. 2) Okunabilirlik ve hata ayıklama gerekiyor: Hex kullanın. 3) Şifreleme algoritması çıktısı: genellikle Hex kullanır (örneğin SHA-256).
Q: Data URL nedir? Nasıl kullanılır?
A: Data URL, Base64 kodlaması kullanarak verileri doğrudan bir URL'ye gömmek için bir yoldur. Format: data:[medya türü];base64,[Base64 verisi]. Örnek: data:image/png;base64,iVBORw0KGgoAAAANS.... Avantajlar: 1) HTTP isteklerini azaltır, sayfa yükleme hızını artırır. 2) Ek dosya gerekmez, paylaşmak ve gömmek kolaydır. Dezavantajlar: 1) HTML/CSS dosya boyutunu artırır. 2) Tarayıcı önbelleğini kullanamaz. 3) Büyük dosyalar için uygun değildir. Kullanım Durumları: 1) Küçük simgeler, logolar (< 10KB). 2) Satır içi SVG resimleri. 3) Yazı tipi dosyaları (küçük yazı tipleri). 4) CSS arka plan resimleri. En İyi Uygulama: Data URL'leri yalnızca 10KB'den küçük kaynaklar için kullanın; büyük dosyalar ayrı dosyalar kullanmalı ve CDN ile önbelleği kullanmalıdır.
Q: JavaScript'te Base64 nasıl kullanılır?
A: JavaScript, yerleşik Base64 kodlama ve kod çözme yöntemleri sağlar. Kodlama: btoa(string) - Bir dizeyi Base64'e kodlar. Kod Çözme: atob(base64String) - Base64'ü bir dizeye çözer. Not: btoa ve atob yalnızca ASCII karakterleri destekler. UTF-8 dizeleri için önce dönüştürme gereklidir:// UTF-8 kodlama
const base64 = btoa(unescape(encodeURIComponent('中文')));
// UTF-8 kod çözme
const text = decodeURIComponent(escape(atob(base64)));
Modern Yöntem: UTF-8'i işlemek için TextEncoder ve TextDecoder API'lerini kullanın. Dosya Kodlama: Dosyaları Data URL olarak kodlamak için FileReader.readAsDataURL() kullanın.
Use Cases
Önerilen: Küçük Resimler için Data URL
HTML ve CSS'e küçük resimleri (simgeler ve logolar gibi) gömmek için Data URL kullanmak HTTP isteklerini azaltabilir ve sayfa yükleme hızını artırabilir. 10KB'den küçük resimler için önerilir; büyük resimler ayrı dosyalar kullanmalı ve CDN ile tarayıcı önbelleğini kullanmalıdır. Data URL'ler özellikle satır içi SVG resimleri için uygundur çünkü SVG, Base64 kodlamasından sonra okunabilir kalan bir metin formatıdır.
- ✅ Küçük simgeler, logolar (< 10KB)
- ✅ Satır içi SVG resimleri
- ✅ CSS arka plan resimleri (küçük)
- ❌ Büyük resimlerden kaçının (> 50KB)
- 💡 Otomatik dönüştürme için derleme araçlarını (Webpack gibi) kullanın
Önerilen: JWT (JSON Web Token)
JWT, istemci ve sunucu arasında güvenli bilgi iletimi için Header ve Payload'ı kodlamak üzere Base64 kullanır. JWT üç bölümden oluşur: Header, Payload ve Signature, noktalarla ayrılmış. Header ve Payload Base64 kodlaması kullanırken, Signature HMAC-SHA256 veya RSA imzalaması kullanır.
- ✅ Kullanıcı kimlik doğrulama ve yetkilendirme
- ✅ Tek Oturum Açma (SSO)
- ✅ API erişim tokenları
- ❌ JWT'de hassas bilgi depolamayın (Base64 çözülebilir)
- 💡 JWT iletimi için HTTPS kullanın
Önerilen: HTTP Basic Authentication
HTTP Basic Authentication, kullanıcı adı ve parolayı Base64 ile kodlar ve Authorization: Basic [Base64(kullanıcıadı:parola)] formatında kullanır. Base64 kodlama güvenlik sağlamasa da HTTPS ile birlikte kullanmak iletim sırasında kimlik bilgilerini koruyabilir. HTTP Basic Authentication basit ve kullanımı kolaydır, dahili sistemler veya hızlı kimlik doğrulama uygulaması gerektiren senaryolar için uygundur.
- ✅ Dahili sistemler, yönetici panelleri
- ✅ API kimlik doğrulama (HTTPS ile)
- ✅ Basit kullanıcı kimlik doğrulama
- ❌ Düz metin iletimini önlemek için HTTPS kullanılmalıdır
- 💡 Daha güvenli OAuth 2.0 veya JWT'yi düşünün
Önerilen: E-posta Ekleri (MIME)
MIME (Multipurpose Internet Mail Extensions) protokolü, e-posta eklerini kodlamak için Base64 kullanır ve ikili dosyaları e-posta sistemlerinde iletim için metin formatına dönüştürür. MIME Base64, e-posta protokolü satır uzunluğu sınırlarına uymak için her 76 karakterde bir satır sonu (CRLF) ekler. Modern e-posta istemcileri, kullanıcının manuel müdahalesi olmadan Base64 kodlama ve kod çözmeyi otomatik olarak işler.
- ✅ E-posta eki kodlama
- ✅ E-posta gövdesine resim gömme
- ✅ RFC 2045 standardına uygun
- 💡 Otomatik işleme için e-posta kütüphanelerini (Nodemailer gibi) kullanın
Önerilen: API İkili Veri İletimi
JSON ve XML gibi metin formatı API'lerinde ikili verileri (resimler ve dosyalar gibi) iletirken Base64 kodlama kullanılabilir. Bu, multipart/form-data gibi karmaşık ikili iletim formatlarını işlemekten kaçınır. Ancak büyük dosyalar için daha iyi performans için özel dosya yükleme API'leri (multipart/form-data veya nesne depolamaya doğrudan yükleme gibi) önerilir.
- ✅ Küçük dosya iletimi (< 1MB)
- ✅ JSON API'lerine ikili veri gömme
- ✅ Yapılandırma dosyalarında sertifika ve anahtar depolama
- ❌ Büyük dosya iletiminden kaçının (> 10MB)
- 💡 Büyük dosyalar için multipart/form-data veya nesne depolama kullanın
Önerilen: Yapılandırma Dosyalarında İkili Veri Depolama
Yapılandırma dosyalarında (JSON, YAML, XML gibi) ikili verileri (SSL sertifikaları, anahtarlar, küçük resimler gibi) depolarken Base64 kodlama kullanılabilir. Bu, harici dosya yollarını ve dosya okuma sorunlarını işlemekten kaçınır ve yapılandırma dosyalarını bağımsız hale getirir. Özellikle Docker görüntüleri ve Kubernetes ConfigMap'ler gibi paketlenmiş yapılandırmalar gerektiren senaryolar için uygundur.
- ✅ SSL sertifikaları, özel anahtarlar
- ✅ API anahtarları, tokenlar
- ✅ Küçük resimler, simgeler
- ✅ Docker, Kubernetes yapılandırmaları
- 💡 Hassas bilgi içeren yapılandırma dosyalarını koruyun
En İyi Uygulama Önerileri
- Base64 kodlamadır, şifreleme değildir ve veri gizliliğini koruyamaz. Veri koruması gerektiğinde önce şifreleyin sonra kodlayın.
- Base64 kodlama veri boyutunu yaklaşık %33 artırır; büyük dosyalar için kodlamadan önce sıkıştırmayı düşünün.
- Data URL'ler 10KB'den küçük kaynaklar için uygundur; büyük dosyalar ayrı dosyalar kullanmalı ve CDN ile önbelleği kullanmalıdır.
- HTTP Basic Authentication, iletim sırasında kimlik bilgisi hırsızlığını önlemek için HTTPS ile birlikte kullanılmalıdır.
- JWT Payload, herkesin çözebileceği Base64 kodlaması kullanır; hassas bilgi depolamayın.
- UTF-8 dizeleri için işleme amacıyla TextEncoder/TextDecoder veya encodeURIComponent/decodeURIComponent kullanın.