RevealTheme logo

Base64 Kodlayıcı ve Kod Çözücü

Dizeleri Base64'e kodlayın veya Base64'ün kodunu metne çözün. Gizliliğinize saygı duyar: tarayıcınızda çalışır.

Base64 nedir ve neden her yerde?

Base64, rastgele ikili verileri yalnızca 64 yazdırılabilir ASCII karakteri (A-Z, a-z, 0-9, artı dolgu olarak +, / ve =) kullanarak gösteren bir kodlama şemasıdır; bir şifreleme değildir. Birçok aktarım protokolü, dosya biçimi ve API'nin yalnızca metin tabanlı olması veya belirli baytları özel olarak ele alması nedeniyle vardır: e-posta (SMTP, 7 bitlik ASCII için tasarlanmıştır), JSON (ham bayt içeremez), URL'ler (ayrılmış karakterleri vardır), HTTP başlıkları (satır odaklı metin) ve HTML öznitelikleri; bunların hepsinin ikili verileri metin kanalları üzerinden taşımanın bir yoluna ihtiyacı vardır. Base64 bunu, giriş baytlarını 3'lü gruplara (24 bit) ayırıp her grubu 4 Base64 karakteri (her biri 6 bit) olarak yeniden kodlayarak çözer. Boyut artışı tam olarak %33'tür: her 3 bayt, 4 karaktere dönüşür. Bu araç, UTF-8 metnini veya Base64 dizelerini her iki yönde de, tamamen tarayıcınızda kodlar. atob/btoa işlevlerini doğrudan kullanan saf Base64 uygulamalarının bozduğu çok baytlı UTF-8 karakterlerini (emoji, Latin olmayan alfabeler) doğru şekilde yönetir.

Yaygın kullanım örnekleri

  • Küçük görselleri CSS içinde doğrudan data: URL olarak gömün (küçük simgeler için bir HTTP isteğini ortadan kaldırır).

  • İçeriğini incelemek için bir JWT veya Basic Auth header'ının payload'ını çözün.

  • İkili dosya içeriğini bir JSON alanına veya ortam değişkenine koymak için kodlayın.

  • İkili verileri, rastgele baytları korumayan sistemler (e-posta, kopyala/yapıştır) üzerinden taşıyın.

  • Hata ayıklama sırasında base64 ile kodlanmış API yanıtlarını veya webhook yüklerini çözün.

  • İkili kimlik bilgilerini operasyon devri için kopyala-yapıştır dostu bir biçime dönüştürün.

Sıkça sorulan sorular

Base64 bir şifreleme midir?
Hayır. Base64, tersine çevrilebilir bir kodlamadır: herkes anahtar olmadan anında kodunu çözebilir. Gizlilik için gerçek şifreleme (AES-256, RSA veya AES Şifreleme aracımız) kullanın. Base64'ü güvenlik olarak görmek, onunla ilgili bir numaralı hatadır.
Base64 neden ~%33 boyut ekler?
Kodlama, 3 bayt (24 bit) girişi 4 karaktere (24 bit, çünkü her Base64 karakteri 6 bit temsil eder) eşler. Boyut yükü doğal ve kaçınılmazdır. Daha küçük ikili gösterimler için Base85 kullanın veya kanal destekliyorsa ham ikili gönderin.
URL açısından güvenli Base64 nedir?
RFC 4648'de tanımlanan ve + yerine - ile / yerine _ kullanan bir çeşittir; böylece çıktı, yüzde kodlaması olmadan URL yollarına veya dosya adlarına dahil edilmek için güvenlidir. JWT'ler URL açısından güvenli Base64 kullanır. Birçok API her iki çeşidi de kabul eder.
Neden sonda '=' görüyorum?
Bunlar dolgu karakterleridir. Base64, çıktıyı 4 karakterlik gruplar halinde üretir; giriş 3 baytın katı değilse, son grup 4 karaktere ulaşana kadar '=' ile doldurulur. Bazı Base64 çeşitleri dolguyu atlar; her ikisi de aynı şekilde kod çözülür.
Emoji ve Latin olmayan metni yönetir mi?
Evet. Araç önce metni UTF-8 baytlarına dönüştürür, ardından baytları Base64 olarak kodlar. Bu, btoa()'nın Latin1 olmayan karakterlerle başarısız olduğu klasik JavaScript hatasından kaçınır.
Base64'ü gerçek uygulamalarda nerede görürüm?
Her yerde: CSS'teki görüntülerin data: URL'leri, Authorization: Basic başlıkları, JWT bölümleri, imzalı URL imzaları, S3'ün ön imzalı URL'leri, PKCS sertifikaları (PEM biçimi), e-posta ekleri (MIME), QR kodu yükleri ve modern dağıtım platformlarının .env tarzı sırları.

İlgili araçlar