Base64 Kodlayıcı / Çözücü
Metin ve dosyalarınızı Base64 formatında kodlayın veya Base64 kodunu orijinal haline çözün. UTF-8 ve URL-safe desteği.
Base64 Kodlama Nedir?
Base64, ikili (binary) verileri yalnızca yazdırılabilir ASCII karakterlerden oluşan metin formatına dönüştüren bir kodlama şemasıdır. RFC 4648 standardı tarafından tanımlanmıştır. Adını, çıktıda kullanılan 64 farklı karakterden (A-Z, a-z, 0-9, +, /) alır. Her 3 byte'lık girdi verisi, 4 karakterlik bir Base64 çıktısına dönüştürülür; bu nedenle kodlanmış veri, orijinalinden yaklaşık %33 daha büyük olur.
Base64 Nasıl Çalışır?
Base64 kodlama işlemi şu adımlarla çalışır: Önce girdi verisi 3 byte'lık (24 bit) bloklara ayrılır. Her 24 bitlik blok, 4 adet 6 bitlik gruba bölünür. Her 6 bitlik değer (0-63 aralığında), Base64 alfabe tablosundaki karşılık gelen karaktere eşlenir. Girdi verisi 3'ün katı değilse, eksik byte'lar için çıktıya padding karakteri (=) eklenir.
URL-Safe Base64 Nedir?
Standart Base64 + ve / karakterlerini kullanır; ancak bu karakterler URL'lerde özel anlam taşır. URL-Safe Base64, bu karakterleri - (tire) ve _ (alt çizgi) ile değiştirir ve genellikle padding (=) karakterlerini kaldırır. JSON Web Token (JWT), URL parametreleri ve dosya adlandırma gibi durumlarda URL-Safe Base64 tercih edilmelidir.
Base64 Kullanım Alanları
E-posta (MIME): E-posta ekleri ve HTML e-posta içerikleri Base64 ile kodlanır. Data URI: Küçük görseller ve dosyalar doğrudan HTML/CSS içine data:image/png;base64,... formatında gömülebilir. API'ler: REST API'lerinde binary veri iletimi için JSON formatıyla uyumlu Base64 kodlama kullanılır. Kimlik doğrulama: HTTP Basic Authentication header'ı kullanıcı adı ve parolayı Base64 ile kodlar (şifreleme değildir!).
Base64 Şifreleme midir?
Hayır, kesinlikle değildir. Base64 bir kodlama yöntemidir, şifreleme yöntemi değildir. Base64 ile kodlanmış veri kolayca çözülebilir ve hiçbir gizlilik sağlamaz. Hassas verilerin korunması için AES, RSA gibi gerçek şifreleme algoritmaları kullanılmalıdır. Base64'ün amacı, binary verileri metin tabanlı protokollerde güvenli bir şekilde taşımaktır.
UTF-8 ve Base64
JavaScript'teki btoa() fonksiyonu yalnızca Latin-1 (ISO-8859-1) karakterleri destekler. Türkçe ve diğer Unicode karakterler içeren metinleri Base64'e kodlamak için önce UTF-8'e dönüştürmek gerekir. Bu araç, TextEncoder API'sini kullanarak tam UTF-8 desteği sağlar ve Türkçe, Arapça, Çince gibi tüm Unicode karakterleri sorunsuz kodlar.
Sıkça Sorulan Sorular
data:[MIME];base64,[veri] şeklinde kullanılır. Küçük ikonlar, logolar gibi dosyalar için ek HTTP isteklerini azaltarak performansı artırır. Ancak büyük dosyalar için önerilmez çünkü HTML boyutunu büyütür ve tarayıcı önbelleğinden yararlanamaz.