Base64 Padding İşleme
Tarayıcınızda RFC 4648 standardına göre Base64 sonundaki = padding sayısını otomatik hesaplayın, ekleme veya kaldırma yönünde çift yönlü dönüşümü destekler, standart dışı Base64 dizelerini düzeltir; tüm işlemler yerel olarak yapılır.
İlgili Öneriler
Base64 padding nedir?
Base64 padding, RFC 4648 standardında tanımlanan '=' karakteridir ve Base64 çıktısının uzunluğunun 4'ün katı olmasını sağlar. Base64, 3 baytı (24 bit) 4 karaktere eşler, ancak son grup 3 bayttan az olduğunda = ile doldurulması gerekir; aksi takdirde kod çözücü sondaki gerçek bayt sayısını belirleyemez.
Padding kuralları: ①Orijinal bayt sayısı mod 3 = 0 → sonda 0 adet =; ②mod 3 = 1 → sona 2 adet =; ③mod 3 = 2 → sona 1 adet =. Herhangi bir Base64 dizesinin uzunluğunun mod 4 sonucu, eksik = sayısına eşit olmalıdır.
Neden padding gerekir: Base64 kod çözme açık bir sınıra ihtiyaç duyar. Padding, kod çözücüye sondaki ='ın kaç gerçek bayta karşılık geldiğini bildirir ve belirsizliği önler. Padding olmadan, 1 baytlık ve 2 baytlık girdiler aynı uzunlukta Base64 üretebilir, bu da kod çözme sırasında bayt sayısının anlaşılamamasına yol açar.
Pratik kullanım: Çoğu protokol (Data URL, MIME, JWT, yapılandırma dosyaları) padding'i kesin olarak uygular; bazı senaryolarda (URL yolları, dosya adları, kısa bağlantılar) yer kazanmak için padding atlanır. Bu araç her iki yöndeki dönüşümü destekler.
Kullanım senaryoları
- base64 kod çözme hatalarını (ör. InvalidCharacterError veya 4'ün katı olmayan uzunluk) düzeltmek için önce = ile doldurun, sonra kod çözün.
- API, JWT, günlük kayıtlarından gelen Base64 çıktılarını işlerken fazla satır sonlarını ve eksik padding'leri kaldırın.
- Data URL üretirken Base64 kısmının RFC 4648'e kesin olarak uymasını sağlayın, tarayıcı veya üçüncü taraf araçlarda kod çözme hatalarını önleyin.
- JWT tokenları, yapılandırma dosyaları, API kimlik bilgileri gibi senaryolar için padding'i hızlıca doğrulayın ve doldurun.
- URL'ler, dosya adları gibi senaryolarda karakter tasarrufu için padding'i kaldırın (protokolün desteklediği varsayımıyla).
- Base64 kodlama ilkelerini öğrenirken girdi bayt sayısı ile padding miktarı arasındaki ilişkiyi karşılaştırın.
Nasıl Kullanılır
- İşlenecek Base64 dizesini yapıştırın veya girin (padding içerebilir veya içermeyebilir, satır sonları olabilir).
- Modu seçin: Doldurma (sona = ekle) veya Padding kaldırma (sondaki ='leri sil).
- Araç otomatik olarak sonucu hesaplar ve gösterir, karakter sayısı ve padding değişimini gerçek zamanlı görüntüler.
- Sonucu panoya kopyalayın veya sonraki işlemler için .txt dosyası olarak indirin.
Özellikler
- Otomatik padding hesaplama: Mevcut girdi için gereken = sayısı ile mevcut = sayısı arasındaki farkı gerçek zamanlı gösterir.
- Doldurma modu: Herhangi bir Base64 dizesini 4'ün katı uzunluğa tamamlar, uzunluk hatalarını tek tıkla düzeltir.
- Padding kaldırma modu: Sondaki = karakterlerini kaldırır, URL'ler, dosya adları gibi karakter tasarrufu gerektiren senaryolar için uygundur.
- Satır sonlarını ve boşlukları otomatik yok sayma: Satır sonları içeren Base64 (e-posta, JWT çıktılarından) yapıştırılsa bile doğru işlenir.
- Gerçek zamanlı karakter sayımı: Girdi karakter sayısını, çıktı karakter sayısını ve padding artış/azalış miktarını gösterir.
- Tek tıkla kopyalama / indirme: Sonuç tek tıkla panoya kopyalanabilir veya .txt dosyası olarak indirilebilir.
- Yerel tarayıcıda işleme: Tüm hesaplamalar tarayıcı içinde yapılır, orijinal içerik hiçbir sunucuya yüklenmez.
Best Practices
Doldurmadan önce girdinin gerçek Base64 olduğunu doğrulayın
Bu araç yalnızca sondaki ='ları ekler, geçersiz karakterleri temizlemez. Girdide boşluk, Latin alfabesi dışı karakterler veya aksanlı işaretler, ya da satır sonları dışında yasadışı karakterler varsa kod çözme yine başarısız olur. Önce Base64 temizleme aracıyla alfasayısal olmayan karakterlerin kaldırılması önerilir.
Data URL ve JWT için mutlaka padding ekleyin
Data URL (RFC 2397) ve JWT (RFC 7519) padding'i kesin olarak zorunlu kılar. = atlanması çoğu uygulamada kod çözme hatası veya tutarsız sonuçlara yol açar; göndermeden önce bu araçla 4'ün katına tamamlayın.
URL/dosya adlarında padding atlanabilir, ancak URL-safe karakter kümesiyle birlikte kullanılmalıdır
Base64'ü URL yoluna, dosya adına veya kısa bağlantıya koyacaksanız yalnızca padding'i kaldırmak yetmez; ayrıca + ve / karakterlerini - ve _ ile değiştirmeniz gerekir (Base64URL). Yalnızca = atlanması standart Base64 olur, + ve / URL'de hâlâ yasadışıdır.
Padding kaldırıldıktan sonra kod çözmede 'uzunluk yanlış' hatası çıkıyor
Hedef aracın padding'i kesin olarak zorunlu kıldığı anlamına gelir. Lütfen doldurma moduna geçin ve tekrar kod çözmeyi deneyin. Hâlâ başarısız oluyorsa, padding kaldırma sırasında yanlışlıkla sondaki olmayan = karakterleri silinmiş olabilir (girdi başlangıçta yasadışıdır).
Büyük dosyalar için önce bölüp sonra işleyin
Bu araç tek parça Base64 dizeleri için uygundur. Onlarca MB düzeyinde base64 kodlanmış dosyalar için komut satırı araçlarını (ör. openssl base64, base64 komutu) veya doğrudan kod içinde işlem yapmanız önerilir; böylece tarayıcıda takılma önlenir.
Eğitim veya belgelerde gösterirken padding hesabını da ekleyin
Base64 padding, yeni başlayanların en çok kafasını karıştıran noktadır. Açıklarken mutlaka 'girdi bayt sayısı mod 3 = kalan, kaç tane = doldurulacağına karşılık gelir' karşılaştırma tablosunu (bu sayfadaki referenceTables'a bakın) ekleyin; aksi halde öğrenciler bazen neden 1, bazen neden 2 adet eklendiğini anlamakta zorlanır.
Sık Sorulan Sorular
Base64 padding ne işe yarar?
Base64 çıktısının uzunluğunu her zaman 4'ün katı yapar ve kod çözücüye açık bir bitiş sınırı verir. Padding olmadan, 1 bayt ve 2 bayt girdiler aynı uzunlukta karakterlere kodlanabilir ve kod çözücü orijinal bayt sayısını ayırt edemez.
Base64 uzunluğu neden 4'ün katı olmak zorunda?
Çünkü Base64 her 3 baytı 4 karaktere eşler, her grup sabit 3→4 oranındadır. Girdi 3'ün katı olmadığında, 4 karaktere tamamlamak için sona = eklenmesi gerekir. 4'ün katı olmayan herhangi bir Base64 yasadışıdır.
Padding miktarı nasıl hesaplanır?
Formül (4 - girdi bayt sayısı % 3) % 3'tür, ya da doğrudan Base64 karakter sayısına mod 4 uygulanır: 0 kalanı 0 adet ='a, 2 kalanı 1 adet ='a, 3 kalanı 2 adet ='a karşılık gelir. Bu araç otomatik olarak hesaplar.
Padding kaldırılabilir mi?
Kaldırılabilir, ancak yalnızca protokol destekliyorsa. Örneğin dosya adları, URL yolları ve JSON Web Token bazı uygulamalarda padding'siz Base64'ü kabul eder; ancak Data URL, MIME ve yapılandırma dosyaları genellikle padding'i kesin olarak zorunlu kılar. Bu aracın padding kaldırma modunu yalnızca protokolün desteklediğinden emin olduğunuzda kullanın.
Base64 kod çözme 'uzunluk 4'ün katı değil' hatası veriyorsa ne yapmalı?
Bu aracın doldurma moduna geçin ve sona tek tıkla = ekleyin. Doldurduktan sonra hâlâ hata veriyorsa, girdide geçersiz karakterler var veya kesilmiş demektir; önce Base64 temizleme aracıyla kontrol edin.
Padding eklemek orijinal baytları değiştirir mi?
Hayır. Doldurma yalnızca sona = ekler, ortadaki karakterleri değiştirmez; dolayısıyla orijinal baytlar tamamen korunur. Kod çözme sonrası baytlar orijinal veriyle aynı olur.
Satır sonları veya boşluklar içeren Base64 destekleniyor mu?
Destekleniyor. Bu araç padding'i hesaplamadan önce satır sonlarını, satır başlarını ve boşlukları otomatik kaldırır. E-posta eklerinden, JWT çıktılarından ve yapılandırma dosyalarından gelen çok satırlı Base64 doğrudan yapıştırılabilir.
Base64 padding ile Base64URL aynı şey mi?
Hayır. Base64 padding sondaki = karakteriyle ilgilidir; Base64URL ise karakter kümesiyle ilgilidir (+ yerine -, / yerine _ kullanılır). Bu araç yalnızca padding ile ilgilenir; URL-safe dönüşümü için özel Base64URL aracını kullanın.
İçerik sunucuya yüklenir mi?
Hayır. Tüm padding hesaplamaları tarayıcı içinde yerel olarak yapılır; orijinal Base64 dizesi cihazınızdan çıkmaz. Hassas verileri (kimlik bilgileri, tokenlar) işlerken güvenle kullanabilirsiniz.
Sorun Giderme
Kod çözme 'uzunluk 4'ün katı değil' hatası veriyor
Bu aracın doldurma moduyla = ekledikten sonra tekrar kod çözün. Doldurduktan sonra hâlâ hata veriyorsa, girdide geçersiz karakterler var demektir; önce Base64 temizleme aracıyla kontrol etmeniz önerilir.
Girdide geçersiz karakter olduğundan şüpheleniyorum
Standart Base64 yalnızca A-Z a-z 0-9 + / = karakterlerini içerir; bunların dışındaki tüm karakterler (Latin alfabesi dışı karakterler, aksanlı işaretler, boşluk, satır sonları dışındaki semboller) yasadışıdır. Bu araç satır sonlarını ve boşlukları otomatik yok sayar, ancak diğer yasadışı karakterler için önce Base64 temizleme aracı kullanılmalıdır.
Padding kaldırdıktan sonra URL hâlâ hata veriyor
URL'de hâlâ URL kodlaması gereken ? & = gibi karakterler veya Base64 karakter kümesinden + / gibi simgeler bulunuyor olabilir. Padding kaldırmak URL-safe anlamına gelmez; Base64URL dönüşümü veya URL kodlaması da uygulanmalıdır.
Yapıştırdıktan sonra sonuç görünmüyor
Girdi tamamen boşluk karakterlerinden (satır sonu, boşluk, sekme) oluşuyor olabilir. Bu araç hesaplama için bu karakterleri yok sayar, ancak tamamen boş girdi sonuç tetiklemez. Lütfen en az bir Base64 karakteri girin.
Sözlük
- padding = karakteri
- RFC 4648 standardında tanımlanan Base64 sonundaki doldurma karakteri olup eksik gerçek baytları belirtir. Geçerli padding yalnızca dizenin sonunda bulunabilir.
- 4'ün katı
- RFC 4648 standardına göre Base64 çıktı uzunluğu 4'ün katı olmalıdır, aksi halde geçersiz kodlama sayılır. Kod çözme sırasında sıkı Base64 modu doğrudan hata verir.
- padding hesaplama formülü
- Gereken = sayısı = (4 - girdi bayt sayısı % 3) % 3; eşdeğer olarak Base64 karakter sayısına mod 4 uygulanır; sonuç 0/2/1 sırasıyla 0/1/2 adet ='a karşılık gelir.
- Padding'siz Base64
- Sondaki = atlanmış Base64 varyantı, URL yolları ve dosya adlarında yaygındır, ancak RFC 4648 standardına kesin olarak uymaz ve bazı protokoller altında kod çözme başarısız olabilir.
- Base64 karakter kümesi
- A-Z, a-z, 0-9, +, / olmak üzere toplam 64 karakter, artı padding için =. Bunların dışındaki tüm karakterler geçersizdir ve önce Base64 temizleme aracıyla temizlenmelidir.
Base64 padding kuralları hızlı bakış
Base64 girdi bayt sayısı ile sona eklenen = padding sayısı arasındaki ilişki.
| Girdi bayt sayısı | mod 3 | Base64 karakter sayısı | = padding sayısı | Örnek (girdi→çıktı) |
|---|---|---|---|---|
3n | 0 | 4n | 0 | ABC → QUJD |
3n+1 | 1 | 4n+2 | 2 | AB → QUI= |
3n+2 | 2 | 4n+3 | 1 | A → QQ== |
Yaygın protokollerin padding gereksinimleri
Farklı protokollerin = padding gereksinimleri farklıdır; yanlış atlanması kod çözme hatalarına yol açar.
| Kullanım senaryosu | Padding gerekli mi | Tipik kullanım |
|---|---|---|
Data URL (RFC 2397) | Önerilir (uyumluluk) | HTML / CSS / görsel gömme |
JWT (RFC 7519) | Gerekli (kesin) | OAuth / API kimlik doğrulama |
MIME (RFC 2045) | Gerekli | E-posta eki kodlama |
URL yolu / dosya adı | İsteğe bağlı (sıklıkla kaldırılır) | Kısa bağlantılar / önbellek anahtarları |
Yapılandırma dosyaları (YAML / JSON) | Gerekli | Kimlik bilgisi, imza depolama |
Authoritative References
- Güvenli Dize Karşılaştırma
- Binary Dönüştürme
- Sezar Şifresi
- Mors Kodu
- Hex Dönüştürme
- Videoyu Base64'e Çevir
- Base64'ten videoya
- Resmi Base64’e Dönüştür
- Base64'ten Resme
- Metin Base64'e Dönüştürme
- Base64 Metne Dönüştür
- Dosya Hash Doğrulayıcı
- Dosyayı Base64'e Dönüştür
- Base64 Dosyaya Dönüştür
- Ses → Base64
- Base64'ten Ses
- AES şifreleme ve çözme
- DES Şifreleme ve Şifre Çözme
- Base32 Kodlayıcı Çözücü
- Base58 kodlama ve kod çözme
- Base64 Kodlama
- Base64 Kod Çözme
- Base64 Karşılaştırma
- Base64 Bölme
- Base64 çok satırlı birleştirme
- Base64 Biçimlendirme
- Base64 Format Kontrolü
- Toplu Base64 Kodlama
- Base64 Toplu Kod Çözme
- Base64 Temizleme
- Base64 Padding İşleme
- Base64 Uzunluk İstatistikleri
- Base64 Onaltılığa Dönüştür
- Base64 DataURL Dönüştürücü
- Base64-Hex Dönüştürücü
- Base85 Kodlayıcı ve Kod Çözücü
- HMAC Oluşturucu ve Doğrulayıcı
- PBKDF2 Anahtar Türetme
- MD5 Özeti
- SHA-256 Özeti
- SHA1 Özeti
- SHA512 Özeti
- JWT Aracı
- HTML Encode/Decode
- Unicode Escape
- URL Kodlama
- URL Safe Base64
- MIME Base64
- Java Obfuscation
- JS Obfuscation
- PHP Obfuscation
- Python Obfuscation