Base64 Kodlama Nedir? Tam Açıklama
Hızlı Yanıt
Base64 kodlama, binary veriyi 64 yazdırılabilir karakter (A-Z, a-z, 0-9, +, /) kullanarak metne dönüştürür. Her 3 byte input 4 Base64 karakter olur. Base64 tersinebilir (şifreleme değil) ve veri boyutunu ~%33 artırır. Tarayıcınızda dönüştürmek için ücretsiz Base64 Encoder ve Decoder kullanın.
giriiş
Base64, binary veriyi 64 yazdırılabilir karakter kullanarak ASCII dizgisine dönüştüren binary-to-text kodlama şemasıdır. RFC 4648 tarafından tanımlanır ve metin işleyen medyalar üzerinden iletilecek veriyi kodlamak için yaygın olarak kullanılır —e-posta ekleri (MIME), Data URLs, JWT token parçaları ve binary veri içeren JSON payload'ları. Base64 kodlamadır, şifreleme değil —tamamen tersinebilir ve anahtar gerektirmez.
Adım adım
-
Karakter setini anlayın
Base64 64 karakter kullanır: A-Z (26), a-z (26), 0-9 (10), + ve / (2). Giriş uzunluğu 3'ün katı olmadığında = karakteri dolgu için kullanılır. URL-safe değişkeni +'yı - ve / ile _ ile değiştirir ve dolguyu atlar.
-
Kodlamanın nasıl çalıştığını öğrenin
Base64 girişi 3 baytlık (24 bit) bloklar halinde işler. Her 24 bitlik blok dört adet 6 bitlik gruba bölünmüştür. Her 6 bitlik değer (0-63), 64 karakterden birine eşlenir. Giriş 3'ün katı değilse doldurma (=) eklenir: 1 bayt giriş → 2 Base64 karakter + ==, 2 bayt → 3 karakter + =.
-
Boyutun yükünü anlayın
Base64 veri boyutunu yaklaşık %33 artırır; her 3 bayt 4 karaktere dönüşür. 1 MB'lık bir dosya, Base64 kodlandığında ~1,33 MB olur. Bu ek yük, salt metin uyumluluğu için yapılan ödünleşimdir.
-
Kodlamayı şifrelemeden ayırt edin
Base64 kodlamadır, şifreleme değildir. Anahtar olmadan geri döndürülebilir; herkes şifresini çözebilir. Base64 hiçbir gizlilik sağlamaz; yalnızca ikili dosyayı aktarım için metne dönüştürür. Parolaları veya sırları saklamak için asla Base64 kullanmayın.
Örnekler
Metni kodla
Giriş: Hello, World!
Çıkış: SGVsbG8sIFdvcmxkIQ==
İkili verileri kodlayın (onaltılı olarak gösterilir)
Giriş: Bayt: 0x00 0x01 0x02
Çıkış: AAEC
URL-güvenli Base64 (JWT stili)
Giriş: Standard: SGVsbG8= → URL-safe: SGVsbG8 (no padding, - and _ for + and /)
Çıkış: JWT belirteçlerinde ve URL parametrelerinde kullanılır
Yaygın Sorunlar
- Base64 öğesini şifreleme olarak ele almak —Base64 anahtar olmadan geri döndürülebilir. Herkes şifresini çözebilir. Asla hassas verileri korumak için kullanmayın.
- ASCII olmayan karakterler — saf btoa() Unicode'a atar. TextEncoder + btoa(unescape(encodeURIComponent(text)))) veya UTF-8 uyumlu bir araç kullanın.
- Dolgunun kaldırılması — = dolgusu kodlamanın bir parçasıdır. Bunu kaldırmak kod çözmeyi bozar (ancak bazı kod çözücüler onu yeniden oluşturabilir).
- Boyut ek yükü —Base64 veri boyutuna ~%33 ekler. Büyük dosyalar için bu önemlidir; kodlamanın gerekli olup olmadığını düşünün.
İpuçları
- Küçük görüntüleri ayrı bir HTTP isteği olmadan HTML/CSS içine gömmek için Veri URLs için Base64 kullanın.
- URLs ve JWT belirteçleri için URL-safe Base64 kullanın (+'yı - ile, /'yi _, şerit dolgusu ile değiştirin) kullanın.
- Base64 şifreleme değildir; bunu gizlilik için değil, aktarım uyumluluğu için kullanın.
- Tarayıcınızda anında, özel dönüşüm için Base64 Kodlayıcı ve Kod Çözücümüzü kullanın.