Base64 Encoder/Decoder
Convert text to/from Base64 encoding
Base64 Kodlayıcı/Kod Çözücü Hakkında
Base64 kodlama, ikili verileri internet üzerinden güvenli bir şekilde iletilebilen veya metin tabanlı sistemlerde saklanabilen bir metin biçimine dönüştürmek için standartlaştırılmış bir yöntemdir. İkili verileri temsil etmek için 64 yazdırılabilir ASCII karakterinden (A-Z, a-z, 0-9, +, /) oluşan bir set kullanır ve yalnızca metni destekleyen sistemlerle uyumlu hale getirir.
Base64, ikili verileri alarak 6 bitlik gruplara dönüştürerek ve her grubu 64 temel karakterden birine eşleyerek çalışır. Bu işlem veri boyutunu yaklaşık %33 genişletir, ancak kodlanmış verilerin e-posta sistemleri, API'ler ve metin tabanlı protokoller aracılığıyla bozulmadan güvenli bir şekilde iletilebilmesini sağlar.
Base64 kod çözme ters işlemdir: Base64 kodlu metni orijinal ikili verilere geri dönüştürme. Eşittir işareti (=), kodlanmış dizelerin sonunda, veri uzunluğunun Base64 standardının gerektirdiği gibi 4 karakterin katı olmasını sağlamak için dolgu olarak kullanılır.
Base64 Kodlama Nasıl Çalışır
Base64 kodlama, 3 bayt (24 bit) ikili veriyi 4 Base64 karakteri olarak temsil etme prensibiyle çalışır (24 bit ÷ karakter başına 6 bit = 4 karakter). Kodlama tablosu 64 karakterden oluşur: büyük harfler (A-Z), küçük harfler (a-z), rakamlar (0-9), artı işareti (+) ve eğik çizgi (/).
Kodlama işlemi şu adımları izler:
- Adım 1: İkili verileri 3 baytlık (24 bit) gruplar halinde al
- Adım 2: Her 24 bitlik grubu dört 6 bitlik segmente böl
- Adım 3: Her 6 bitlik segmenti ondalık sayıya dönüştür (0-63)
- Adım 4: Her ondalık sayıyı karşılık gelen Base64 karakterine eşle
- Adım 5: Giriş uzunluğu 3'e bölünemiyorsa dolgu (=) ekle
Base64 Karakter Seti: A-Z (0-25), a-z (26-51), 0-9 (52-61), + (62), / (63), = (dolgu)
Kullanım Durumları
1. E-posta Ekleri ve MIME
- E-posta iletimi için ikili dosyaların (resimler, belgeler) kodlanması
- MIME (Çok Amaçlı İnternet Posta Uzantıları) metin olmayan ekler için Base64 kullanır
- Örnek:
SGVsbG8gV29ybGQ=, Base64'te "Hello World"ü temsil eder
2. Veri URL'leri ve Gömülü Resimler
- Ayrı dosya istekleri olmadan resimleri doğrudan HTML/CSS'ye gömme
- Veri URL'leri:
data:image/png;base64, iVBORw0... - HTTP isteklerini azaltır ve sayfa yükleme performansını artırır
- Favicon'lar, küçük logolar ve satır içi grafikler için kullanışlı
3. API Kimlik Doğrulama
- Temel HTTP kimlik doğrulaması, kullanıcı_adı:şifre'yi Base64'te kodlar
- Örnek:
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ= - Temel kimlik bilgisi iletimi sağlar (şifreleme değil - HTTPS kullanın)
4. JSON ve API Yükleri
- JSON istekleri/yanıtları içinde ikili verilerin kodlanması
- Yalnızca metin veri iletimi gerektiren API'ler için kullanışlı
- Metin tabanlı biçimlerde sertifika ve anahtar depolama
5. Veritabanı Depolama
- Veritabanlarında ikili verileri (resimler, PDF'ler, belgeler) metin olarak depolama
- BLOB alanlarını desteklemeyen metin tabanlı veritabanları
- Taşınabilir, yalnızca metin veritabanı yedeklemeleri oluşturma
6. Yapılandırma Dosyaları
- Yapılandırma dosyalarına (XML, JSON, YAML) ikili içerik gömme
- Metin yapılandırmasında SSH anahtarları ve sertifikaları
- Sürüm kontrollü dosyalarda gizli yönetimi
Yaygın Olarak Base64 Kodlu İçerik Türleri
Yaygın olarak Base64 kodlu veri türleri için hızlı referans:
SGVsbG8gV29ybGQ=– Metin dizesi "Hello World"iVBORw0KGgo...– PNG resim dosyası/9j/4AAQSkZ...– JPEG resim dosyasıUEsDBBQ...– ZIP veya Office belgesiJVBERi0...– PDF dosyasıMIIBIjANBgkq...– RSA genel anahtarı veya sertifikası
Pratik Uygulamalar
Web Geliştirme
- Sunucu isteklerini azaltmak için HTML'ye küçük resimler gömme
- Gömülü varlıklar içeren bağımsız HTML dosyaları oluşturma
- URL sorgu parametreleri aracılığıyla ikili veri geçirme
- Yalnızca metin protokolleri üzerinden iletim için dosya yüklemelerini kodlama
API Entegrasyonu
- REST API'leri aracılığıyla ikili veri gönderme ve alma
- HTTP temel kimlik doğrulama kimlik bilgileri
- Çok parçalı form gönderimleri için dosyaları kodlama
- OAuth token ve oturum yönetimi
E-posta Sistemleri
- E-posta mesajlarında ekleri kodlama (MIME formatı)
- E-posta yoluyla ikili dosya iletimi
- Gömülü resimlerle bağımsız e-postalar oluşturma
Güvenlik ve Kriptografi
- Şifreleme anahtarlarını ve sertifikaları kodlama
- Kriptografik verileri depolama ve iletme
- PEM format dosyaları (sertifikalar, anahtarlar) Base64 kodludur
- Şifreleme değil - ikili verilerin güvenli iletimi için kullanın
İlgili Araçlar
Bu araçları da faydalı bulabilirsiniz:
- URL Kodlayıcı/Kod Çözücü – URL'lerdeki özel karakterleri kodlama/kod çözme (yüzde kodlaması)
- JSON Biçimlendirici – Kodlanmış verilerle JSON'u doğrulama ve biçimlendirme
- Karma Oluşturucu – Sağlama toplamları oluşturma ve Base64 kodlu dosya bütünlüğünü doğrulama
- Şifre Oluşturucu – Kimlik doğrulama için güvenli şifreler oluşturma
İpuçları
- Base64 veri boyutunu ~%33 artırır - kodlamadan önce ödünleri değerlendirin
- Metin iletimi için Base64 kullanın; mümkün olduğunda depolama için ikili biçimleri kullanın
- Sondaki dolgu (=) düzgün kod çözme için gereklidir - kaldırmayın
- Base64 şifreleme DEĞİLDİR - hassas veriler için her zaman HTTPS kullanın
- Büyük dosyalar için Base64 kodlama/kod çözme akışı bellek aşırı yüklenmesini önler
- URL güvenli Base64, URL iletimi için + yerine - ve / yerine _ kullanır
- Geçerlilik için dosya başlıklarını (sihirli sayılar) kontrol ederek kodu çözülmüş çıktıyı doğrulayın
Base64 Varyantları
- Standart Base64: + ve / karakterlerini kullanır - standart RFC 4648 kodlaması
- URL Güvenli Base64: URL iletimi için + yerine - ve / yerine _ kullanır
- Base64url: JWT token'larında kullanılır, değiştirilmiş dolgu kuralları
- MIME Base64: E-posta uyumluluğu için satır başına 76 karakterle sınırlı
Yaygın Sorunlar ve Çözümler
- Yanlış dolgu: Base64 dizeleri 4'e bölünebilir uzunlukta olmalıdır. Gerektiğinde = ekleyin.
- Yeni satır karakterleri: MIME Base64 yeni satırlar içerir - standart Base64'ü kod çözmeden önce kaldırın
- Karakter seti karışıklığı: Standart Base64 +/ kullanır; URL güvenli -_ kullanır. Hangi varyantı istediğinizi bilin
- Eksik kodlama: Tam kodlanmış dizenin yakalandığından emin olun - kesme kod çözme hatalarına neden olur
- İkili dosya bozulması: Kodlanmış verileri tam olarak kopyalayın - tek karakter farkları bile ikili veri bozulmasına neden olur
- Bellek sorunları: Çok büyük dosyalar bellek sorunlarına neden olabilir - akış veya yığın kodlama kullanın
- Karakter kodlama uyumsuzluğu: Farklı karakter setleriyle (UTF-8 vs ASCII) kodlanmış metin farklı Base64 üretir
Kodu Çözülmüş Verileri Nasıl Doğrularsınız
- Metin verileri: Okunabilir ve anlamlı olmalıdır
- Resimler: Sihirli sayıları (ilk baytlar) kontrol edin: PNG = 89 50 4E 47, JPEG = FF D8 FF, GIF = 47 49 46
- PDF dosyaları: %PDF- ile başlamalıdır
- ZIP dosyaları: PK ile başlamalıdır (hex: 50 4B)
- JSON/XML: Geçerli ve düzgün biçimlendirilmiş olmalıdır
Sık Sorulan Sorular
S: Base64 kodlama güvenli midir?
C: Hayır. Base64 şifreleme DEĞİLDİR - sadece ikili verilerin metin temsilidir. Herkes kolayca kod çözebilir. Hassas bilgiler için her zaman HTTPS ve uygun şifreleme kullanın. Base64'ü yalnızca kod çözülebilecek verilerin güvenli iletimi için kullanın.
S: Base64 neden orijinal verilerden daha büyük?
C: Base64, verileri temsil etmek için karakter başına 6 bit kullanır, ikili ise bayt başına 8 bit kullanır. Bu %33 artış yaratır. Ödün, verilerin metin güvenli hale gelmesi ve yalnızca metin sistemleri aracılığıyla iletilebilir olmasıdır.
S: Şifreler için Base64 kullanabilir miyim?
C: Hayır. Base64 şifreleme değildir. Şifreler için şifre karma algoritmaları (bcrypt, Argon2, PBKDF2) kullanın. Base64 yalnızca ikili verileri iletim için metin olarak temsil etmeye uygundur.
S: Base64 ile URL kodlaması arasındaki fark nedir?
C: Base64, A-Z, a-z, 0-9, +, / kullanarak herhangi bir ikili veriyi metin olarak kodlar. URL kodlaması (yüzde kodlaması), özel karakterleri %XX biçimine dönüştürür. URL kodlaması URL parametreleri için kullanılır; Base64 ikili veriler için.
S: Base64 kullanarak HTML'ye nasıl resim gömerim?
C: Bir veri URL'si kullanın: <img src="data:image/png;base64, iVBORw0...">. Bu, HTTP isteği olmadan resmi doğrudan gömer, ancak HTML dosya boyutunu artırır.
S: Base64 kodlama tersine çevrilebilir mi?
C: Evet, Base64 tersine çevrilebilir kodlamadır, şifreleme değil. Herkes kod çözebilir. Güvenliğe ihtiyacınız varsa, önce verileri şifreleyin, sonra şifrelenmiş verileri Base64 ile kodlayın.
S: Base64 kodlu verileri manuel olarak düzenlersem ne olur?
C: Tek bir karakteri değiştirmek bile kodu çözülmüş verileri bozar. Veriler bir ikili dosyayı (resim, belge) temsil ediyorsa, okunamaz hale gelir. Her zaman tam, değiştirilmemiş Base64 dizelerini kod çözün.
S: Base64 kodlama için boyut sınırı var mı?
C: Teknik olarak hayır, ancak pratik sınırlar sisteminizin belleğine ve işlem gücüne bağlıdır. Çok büyük dosyalar (>100 MB) performans sorunlarına neden olabilir. Büyük veriler için yığın kodlama veya akış yapmayı düşünün.