API Referansı
Base64 kodlama ve kod çözme işlemleri için teknik referans.
Base64 Algoritması
Karakter Seti
Base64, ikili verileri temsil etmek için 64 farklı karakter kullanır:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Kodlama Süreci
- Giriş: İkili veriler veya metin
- Gruplama: 3 baytlık (24 bit) bloklara gruplama
- Dönüştürme: Her 24 bit grubunu 4 Base64 karakterine dönüştürme
- Dolgu: Gerektiğinde dolgu ekleme
Kod Çözme Süreci
- Giriş: Base64 ile kodlanmış dizi
- Doğrulama: Geçerli Base64 formatını kontrol etme
- Dönüştürme: 4 karakterlik grupları 3 baytlık bloklara dönüştürme
- Çıkış: Orijinal ikili veriler veya metin
Çıkış Formatları
Standart Base64
- Format: Geleneksel Base64 kodlaması
- Dolgu: Dolgu için
=
kullanır - Karakterler: A-Z, a-z, 0-9, +, /
- Kullanım durumu: Genel kodlama
Örnek:
Giriş: "Hello"
Çıkış: "SGVsbG8="
URL Güvenli Base64
- Format: URL için değiştirilmiş Base64
- Dolgu: Dolgu karakterleri yok
- Karakterler: A-Z, a-z, 0-9, -, _
- Kullanım durumu: URL parametreleri, dosya adları
Örnek:
Giriş: "Hello"
Çıkış: "SGVsbG8"
Dolgu Olmayan Base64
- Format: Dolgu olmayan standart Base64
- Dolgu: Dolgu karakterleri yok
- Karakterler: A-Z, a-z, 0-9, +, /
- Kullanım durumu: Belirli uygulamalar
Örnek:
Giriş: "Hello"
Çıkış: "SGVsbG8"
Karakter Kodlaması
UTF-8 (Önerilen)
- Standart: Unicode Dönüştürme Formatı
- Destek: Tüm Unicode karakterler
- Uyumluluk: Yaygın destek
- Kullanım durumu: Uluslararası metin
ASCII
- Aralık: 0-127 karakterler
- Destek: Sadece temel Latin karakterler
- Uyumluluk: Evrensel destek
- Kullanım durumu: Sadece İngilizce metin
Latin-1 (ISO-8859-1)
- Aralık: 0-255 karakterler
- Destek: Batı Avrupa karakterleri
- Uyumluluk: İyi destek
- Kullanım durumu: Avrupa dilleri
Dosya İşleme
Desteklenen Dosya Türleri
- Görüntüler: PNG, JPEG, GIF, WebP, SVG, BMP
- Belgeler: PDF, DOC, DOCX, TXT, RTF
- Arşivler: ZIP, RAR, 7Z, TAR, GZ
- Ses: MP3, WAV, OGG, FLAC
- Video: MP4, AVI, MOV, WMV
- Herhangi bir ikili dosya: Tüm dosya türleri desteklenir
Dosya Boyutu Sınırları
- Maksimum boyut: Dosya başına 10MB
- Bellek kullanımı: Büyük dosyalar için optimize edilmiş
- İşleme: Verimlilik için blok işleme
Hata İşleme
Yaygın Hatalar
- Geçersiz Base64: Hatalı oluşturulmuş Base64 dizi
- Dosya çok büyük: Boyut sınırlarını aşıyor
- Desteklenmeyen format: Geçersiz dosya türü
- Kodlama hatası: Karakter kodlama sorunları
Hata Mesajları
- Kullanıcı dostu: Net hata açıklamaları
- Eyleme geçirilebilir: Çözümler önerir
- Teknik olmayan: Anlaşılması kolay
- Yararlı: Rehberlik sağlar
Performans Özellikleri
İşleme Hızı
- Metin: Gerçek zamanlı işleme
- Küçük dosyalar: < 1 saniye
- Büyük dosyalar: Boyut ve karmaşıklığa bağlı
- Optimizasyon: Verimli algoritmalar kullanır
Bellek Kullanımı
- Minimum: Düşük bellek tüketimi
- Verimli: Performans için optimize edilmiş
- Temizlik: Otomatik bellek yönetimi
- Sınırlar: Tarayıcı sınırlarına saygı gösterir
Tarayıcı Uyumluluğu
Desteklenen Tarayıcılar
- Chrome: Tam destek
- Firefox: Tam destek
- Safari: Tam destek
- Edge: Tam destek
- Mobil: iOS Safari, Chrome Mobile
Gerekli Özellikler
- File API: Dosya yüklemeleri için
- Clipboard API: Kopyalama işlevselliği için
- ES6+: Modern JavaScript özellikleri
- Web Workers: Büyük dosya işleme için
Entegrasyon Örnekleri
JavaScript
// Kodlama
const encoded = btoa('Hello World');
console.log(encoded); // "SGVsbG8gV29ybGQ="
// Kod çözme
const decoded = atob('SGVsbG8gV29ybGQ=');
console.log(decoded); // "Hello World"
Python
import base64
# Kodlama
encoded = base64.b64encode(b'Hello World').decode('utf-8')
print(encoded) # "SGVsbG8gV29ybGQ="
# Kod çözme
decoded = base64.b64decode('SGVsbG8gV29ybGQ=').decode('utf-8')
print(decoded) # "Hello World"
PHP
// Kodlama
$encoded = base64_encode('Hello World');
echo $encoded; // "SGVsbG8gV29ybGQ="
// Kod çözme
$decoded = base64_decode('SGVsbG8gV29ybGQ=');
echo $decoded; // "Hello World"
Bu API referansı, Base64 işlemlerinin anlaşılması ve etkili uygulanması için teknik temel sağlar.