Base64 Kod Çözme
Base64 dizelerini orijinal metne geri döndüren ücretsiz çevrimiçi Base64 kod çözme aracı. Birden fazla karakter setini destekler ve API inceleme ile log kurtarma için idealdir.
İlgili Öneriler
Base64 kod çözme nedir?
Base64 kod çözme, Base64 kodlamanın tersidir: SGVsbG8= gibi bir Base64 dizesini tekrar orijinal metne veya ikili veriye dönüştürür. Base64, ikili veriyi 64 yazdırılabilir ASCII karakteriyle (A-Z, a-z, 0-9, +, /) temsil eden ve RFC 4648'de tanımlanan bir kodlama yöntemidir.
**Yaygın kullanım alanları:** Base64; HTTP Basic Authentication başlıklarında, JWT token payload segmentlerinde, API yanıt alanlarında, Data URI'lerde (`data:image/png;base64,...` gibi), e-posta eklerinin MIME kodlamasında ve veritabanı BLOB alanlarında yaygın biçimde kullanılır. Bu verileri çözmek geliştirme ve hata ayıklamada sık yapılan bir iştir.
**Kod çözmede kritik adımlar:** Base64 çözerken doğru şekilde ele alınması gerekenler şunlardır: 1) karakter seti (çok baytlı karakterler için UTF-8, saf İngilizce için ASCII), 2) Padding (`=`), çünkü uzunluk 4'ün katı olmalıdır, 3) URL-safe varyantı (`+` ve `/` yerine `-` ve `_`), 4) satır sonları ve boşluklar (standart Base64'te yoktur, MIME varyantı ise her 76 karakterde satır sonu ekler).
**Tarayıcı yerel desteği:** Tarayıcılar Base64 çözme için `atob()` fonksiyonunu sunar, ancak bu fonksiyon yalnızca Latin-1 (ISO-8859-1) destekler. UTF-8 metinleri işlemek için önce `TextDecoder('utf-8')` ile baytları yorumlamak gerekir. Bu araç bunu otomatik olarak yapar.
**Yerel işlem ve gizlilik:** Tüm kod çözme işlemleri tarayıcı içinde yapılır. Girdiğiniz Base64 dizesi herhangi bir sunucuya gönderilmez, bu nedenle API yanıtlarındaki hassas token'ları veya loglardaki kullanıcı verilerini güvenle çözebilirsiniz.
Kullanım senaryoları
- API'den dönen Base64 alanlarını çözerek orijinal içeriği görmek
- Log içindeki Base64 verilerini geri yüklemek
- Yapılandırma dosyalarındaki Base64 değerlerini kurtarmak
- Eksik padding veya geçersiz karakter gibi Base64 çözme hatalarını incelemek
- Kullanıcı bilgisini görmek için JWT header ve payload alanlarını çözmek
- HTTP Basic Authentication bilgilerini çözerek kullanıcı adını ve parolayı görmek
- Data URI Scheme içindeki görsel veya kaynak verilerini geri yüklemek
Nasıl Kullanılır
- Çözmek istediğiniz Base64 dizesini yapıştırın
- Karakter setini seçin (UTF-8/ASCII/ISO-8859-1)
- Araç Base64'ü otomatik çözer ve sonucu gösterir
- Sonucu hata ayıklama veya dokümantasyon için kopyalayın
Özellikler
- Gerçek zamanlı dönüştürme: giriş yapıldığında 300 ms debounce ile otomatik çözümleme yapılır
- Birden çok karakter seti desteği: UTF-8, ASCII ve ISO-8859-1 ile Türkçe, İngilizce ve çok dilli senaryolar
- URL-safe Base64 uyumluluğu: `-` ve `_` dönüşümünü otomatik işler, padding olmayan biçimi de destekler
- Geçersiz karakter algılama: çözme başarısız olduğunda sorunun konumunu gösterir
- Tek tıkla kopyalama ve indirme: sonucu panoya kopyalayın veya `.txt` dosyası olarak indirin
- Otomatik Padding işleme: `=` karakterlerini otomatik ekler veya kaldırır
- MIME varyantı desteği: her 76 karakterde satır sonu olan MIME Base64 biçimini tanır ve işler
Kod Örnekleri
JavaScript: tarayıcıdaki `atob()` ile çözme (yalnızca Latin-1)
javascriptTarayıcının yerel API'siyle sade Base64 çözebilirsiniz. UTF-8 için `TextDecoder` gerekir.
// Standard Base64 decode (plain English / Latin-1)
function b64Decode(str) {
try {
return atob(str);
} catch (e) {
return 'Decode failed: ' + e.message;
}
}
console.log(b64Decode('SGVsbG8gV29ybGQ=')); // "Hello World"
// UTF-8 decode (recommended)
function b64DecodeUtf8(str) {
const binary = atob(str);
const bytes = new Uint8Array(binary.length);
for (let i = 0; i < binary.length; i++) {
bytes[i] = binary.charCodeAt(i);
}
return new TextDecoder('utf-8').decode(bytes);
}
console.log(b64DecodeUtf8('5LiW55WM')); // UTF-8 textPython: `base64` kütüphanesiyle çözme (URL-Safe dahil)
pythonPython'un standart `base64` kütüphanesi Standard ve URL-Safe modlarını destekler.
import base64
# Standard decode
encoded = 'SGVsbG8g5LiW55WM'
decoded = base64.b64decode(encoded).decode('utf-8')
print(decoded)
# URL-Safe decode
url_encoded = 'SGVsbG8g5LiW55WM'
decoded = base64.urlsafe_b64decode(url_encoded + '=' * (4 - len(url_encoded) % 4))
print(decoded.decode('utf-8'))
# MIME decode (after removing line breaks)
mime_encoded = 'SGVs\nbG8g\nV29y\nbGQ='
decoded = base64.b64decode(mime_encoded.replace('\n', '')).decode('utf-8')
print(decoded)
# Ignore invalid characters automatically
import re
cleaned = re.sub(r'[^A-Za-z0-9+/=]', '', encoded)
decoded = base64.b64decode(cleaned).decode('utf-8')
print(decoded)Java: `java.util.Base64` ile çözme (farklı varyantlar)
javaJava standart kütüphanesi RFC 4648, URL-Safe ve MIME Base64 için tam destek sunar.
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Base64DecodeExample {
public static void main(String[] args) {
String encoded = "SGVsbG8g5LiW55WM";
// Standard decode
byte[] decoded = Base64.getDecoder().decode(encoded);
System.out.println(new String(decoded, StandardCharsets.UTF_8));
// URL-Safe decode
byte[] urlDecoded = Base64.getUrlDecoder().decode(encoded);
System.out.println(new String(urlDecoded, StandardCharsets.UTF_8));
// MIME decode (handles line breaks automatically)
String mime = "SGVs\nbG8g\nV29y\nbGQ=";
byte[] mimeDecoded = Base64.getMimeDecoder().decode(mime);
System.out.println(new String(mimeDecoded, StandardCharsets.UTF_8));
// Error handling
try {
Base64.getDecoder().decode("invalid@base64");
} catch (IllegalArgumentException e) {
System.err.println("Decode failed: " + e.getMessage());
}
}
}Sık Sorulan Sorular
Base64 çözerken neden InvalidCharacterError alıyorum?
En yaygın nedenler; boşluk, satır sonu veya tırnak gibi geçersiz karakterlerin karışması, yanlış Padding (`=`) sayısı veya URL-safe varyantının (`-/_`) standart Base64 gibi işlenmesidir. Önce giriş dizesini temizleyin.
Çözümleme sonrası bozuk karakterler görürsem ne yapmalıyım?
Büyük olasılıkla yanlış karakter seti seçilmiştir. Çok baytlı metin için UTF-8 seçin. Sadece İngilizce metin veya ikili veri için ASCII ya da ISO-8859-1 deneyebilirsiniz.
URL-safe Base64 çözümü ile normal Base64 çözümü arasındaki fark nedir?
URL-safe Base64, `+` ve `/` yerine `-` ve `_` kullanır ve sonda yer alan `=` padding çoğu zaman atlanır. Çözmeden önce `-/_` değerlerini `+/` haline getirip padding'i tamamlamak gerekir.
Base64 çözme API entegrasyonu hata ayıklaması için uygun mu?
Evet, oldukça uygundur. Birçok API yanıtı, OAuth token'ı, callback parametresi ve middleware log'u veriyi Base64 ile sarar. Çözdüğünüzde orijinal veriyi doğrudan görebilirsiniz.
JWT'nin header veya payload bölümü nasıl çözülür?
JWT, Base64URL (URL-safe varyantı) kullanır. JWT'nin ilk segmentini (header) veya ikinci segmentini (payload) yapıştırıp URL-safe modunu seçin. Üçüncü segment imzadır; normal çözmeyle doğrulanmamalıdır.
Büyük dosyaları da çözebilir mi?
Açık bir boyut sınırı yoktur, ancak çok büyük metinlerde tarayıcı performansı düşebilir. 10 MB üzerindeki Base64 dizeleri sayfayı yavaşlatabilir; bu durumda parça parça çözme veya Node.js / Python betiği kullanmak daha iyidir.
Padding eksikse ne olur?
Araç, uzunluk 4'ün katı olana kadar Padding (`=`) ekler. URL-safe varyantı padding'i sıklıkla atladığı için araç bunu otomatik algılayıp tamamlar.
Base64 çözme bir şifre çözme işlemi midir?
Hayır. Base64 geri döndürülebilir bir kodlamadır, şifreleme değildir. Herkes Base64 çözebilir. Hassas veriler için AES gibi gerçek şifreleme yöntemleri kullanılmalıdır.
Tarayıcıdaki `atob()` ile bu aracın sonucu aynı mı?
Salt İngilizce metin için genelde evet. Ancak `atob()` yalnızca Latin-1 destekler ve UTF-8 çok baytlı metni doğrudan işleyemez. Bu araç, `atob()` ile `TextDecoder` birleşimine denk bir işlem yapar.
Çözme sonucu dışa aktarılabilir mi?
Evet. Sonucu tek tıkla panoya kopyalayabilir veya `.txt` dosyası olarak indirebilirsiniz. İndirilen dosya UTF-8 kodludur ve herhangi bir metin düzenleyici ya da Excel ile açılabilir.
Sözlük
- Base64
- RFC 4648'de tanımlanan, 64 yazdırılabilir ASCII karakterine dayalı ikili-veriden-metne kodlama yöntemidir. Her 3 bayt 4 karaktere çevrildiği için boyut yaklaşık %33 artar.
- atob()
- Tarayıcının yerel Base64 çözme fonksiyonu (ASCII to Binary). Yalnızca Latin-1 desteklediğinden UTF-8 için TextDecoder ile birlikte kullanılmalıdır.
- Padding
- Base64 sonunda yer alan `=` karakterleriyle uzunluğu 4'ün katına tamamlama yöntemidir. Çözme sırasında padding genelde otomatik işlenir. URL-safe varyantı bunu çoğu zaman atlar.
- URL-Safe Base64
- RFC 4648 §5'te tanımlanan URL güvenli Base64 varyantıdır; `+` ve `/` yerine `-` ve `_` kullanır. JWT ve OAuth PKCE'de yaygındır.
- MIME Base64
- RFC 2045'e göre her 76 karakterde bir CRLF satır sonu ekleyen Base64 varyantıdır. Başlıca e-posta ekleri için kullanılır.
- UTF-8
- Değişken uzunluklu Unicode kodlamasıdır. Çok baytlı karakterleri doğru geri yüklemek için Base64 çözümünde UTF-8 seçilmelidir.
- InvalidCharacterError
- `atob()` fonksiyonunun girişte boşluk, satır sonu veya Base64 dışı karakter bulduğunda verdiği hatadır.
- Latin-1 (ISO-8859-1)
- Batı Avrupa dilleri için tek baytlı karakter setidir. Tarayıcıdaki `atob` ve `btoa` doğrudan yalnızca bunu destekler.
3 Base64 varyantının karşılaştırması
Çözmeden önce gelen Base64 varyantını tanımlayıp doğru modu seçin; böylece hata veya bozuk çıktı riskini azaltırsınız.
| Özellik | Standard | URL-Safe | MIME |
|---|---|---|---|
| Özel karakterler | + / | - _ | + / |
| Padding (=) | Kullanılır | Genelde atlanır | Kullanılır |
| Satır sonu | Yok | Yok | Her 76 karakterde |
| Standart | RFC 4648 §4 | RFC 4648 §5 | RFC 2045 |
| Tipik senaryolar | Data URI, genel kodlama | JWT, URL parametreleri, dosya adları | E-posta ekleri, SMTP aktarımı |
| Çözme notu | Padding tamamlanması gerekebilir | Önce -_ ifadesini +/ yapın, sonra çözün | Çözmeden önce satır sonlarını kaldırın |
Base64 çözümünde sık görülen 5 hata
Çözme hatası alırsanız, aşağıdaki tablo sorunu hızlıca daraltmanıza yardımcı olur.
| Hata türü | Olası neden | Çözüm |
|---|---|---|
| InvalidCharacterError | Boşluk, satır sonu veya Base64 dışı karakter içeriyor | Girdi dizesini temizleyin veya Base64 Clean aracını kullanın |
| Çözümden sonra bozuk metin | Yanlış karakter seti seçildi, örneğin UTF-8 metin Latin-1 olarak okundu | UTF-8'e geçin |
| URL parametresinde hata | URL-safe karakterler (`-_`) standart Base64 gibi çözüldü | Önce `-_` değerlerini `+/` haline getirin |
| Yanlış padding | Uzunluk 4'ün katı değil | Uzunluk % 4 = 0 olana kadar `=` ekleyin |
| Boş dize | Girdi yalnızca boşluk veya satır sonu içeriyor | Boşlukları temizleyip yeniden girin |
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