Base64 Biçimlendirme

Messy Base64 Giriş
0 karakter

Base64 dizelerini özel karakter genişliği (64/76/80/100 karakter) ve girintileme (0/2/4 boşluk) ile çok satırlı biçimlendiren online araç. Uzun dize okuma, ekran görüntüsü karşılaştırma ve belge düzeni için idealdir. Yalnızca gösterim biçimini değiştirir, orijinal Base64 kodlama verisini değiştirmez.

İlgili Öneriler

Base64 Biçimlendirme Nedir?

Base64 biçimlendirme, uzun bir Base64 dizesini gösterim aşamasında belirli karakter genişliğine (64/76/80/100 gibi) göre çok satırlı göstermek ve 0/2/4 boşluk girintileme destekleyen bir işlemdir. Biçimlendirme sonucu görsel olarak daha okunabilir, ekran görüntüsü, yazdırma ve belge düzeni için daha uygundur ancak **orijinal bayt içeriğini değiştirmez** — tüm satır sonları ve girintiler kaldırılarak orijinal tek satırlık Base64'e geri dönülebilir.

**Neden biçimlendirmeye ihtiyaç var?** RFC 4648 Base64 standardı satır sonunu zorunlu kılmaz, ancak pratikte: ①Uzun Base64 dizeleri iş takip sistemleri, sohbet araçları ve Markdown belgelerinde taşarak yatay kaydırmaya neden olur; ②MIME protokolü (RFC 2045) her 76 karakterde satır katlamasını şart koşar (e-posta ekleri için); ③Kod incelemesinde çok satırlı gösterim, anormal karakterleri konumlandırmayı kolaylaştırır; ④Belge ekran görüntüsü düzeni estetik hizalama gerektirir.

**Yaygın kullanım senaryoları:** ①Teknik belge düzeni: Markdown / Confluence / Notion'da uzun Base64 gömmek; ②Ekran görüntüsü karşılaştırma: PR / Hata rapor ekran görüntülerinde ekibin tam Base64 dizesini görmesi; ③Manuel inceleme: Kod İncelemesinde yasadışı karakterleri (satır sonları, karışmış boşluklar gibi) hızlıca bulmak; ④E-posta ekleri: MIME standardı 76 karakter satır katlaması ile SMTP iletimi için hazırlamak; ⑤Büyük ekran günlük gösterimi: İzleme ekranlarında çok satırlı gösterim.

**MIME Base64'ten farkı:** MIME Base64 (RFC 2045) her 76 karakterde sabit satır katlaması yapar, bu protokol seviyesinde zorunluluktur. Bu aracın biçimlendirmesi daha esnek olup 64/76/80/100 karakter genişliği ve 0/2/4 boşluk girintileme destekler, çeşitli belge senaryolarına uygundur. MIME katlaması 76 karakter genişliği seçilerek tekrarlanabilir.

**Biçimlendirmenin güvenliği:** Araç yalnızca gösterim aşamasında satır sonları ve girinti karakterleri ekler, **orijinal Base64 bayt içeriğini asla değiştirmez**. Biçimlendirilmiş sonuçtaki tüm boşluklar kaldırılarak tamamen aynı orijinal Base64 dizesine geri dönülebilir. Kod çözme sırasında çoğu Base64 kod çözücü boşlukları otomatik olarak görmezden gelir, bu nedenle biçimlendirilmiş sonuç doğrudan kod çözme için kullanılabilir.

Kullanım senaryoları

  • Çok uzun Base64 dizesini okumayı ve ekran görüntüsü almayı kolaylaştırmak için özel genişlikte satırlara bölme
  • Teknik belgeler, iş kayıtları veya e-posta gösterimi için Base64 biçimlendirme
  • Yazdırma veya arşivleme sırasında Base64 düzen optimizasyonu
  • Bölme ve birleştirme araçlarıyla birlikte Base64 yapı ayarlaması yapma
  • E-posta ekleri için MIME standardına (76 karakter) göre Base64 satır katlaması
  • Kod incelemesinde anormal karakterleri konumlandırmak için Base64'ü çok satırlı gösterme
  • Markdown'a Base64 gömerken kod stilini korumak için 4 boşluk girintileme
  • Büyük ekran günlük gösterimi: İzleme sistemlerinde uzun Base64 payload'u çok satırlı gösterme

Nasıl Kullanılır

  1. Biçimlendirilecek Base64 dizesini yapıştırın (satır sonlu veya satır sonusuz olabilir)
  2. Her satırın karakter genişliğini seçin: 64 / 76 / 80 / 100
  3. Girintilemeyi seçin: 0 / 2 / 4 boşluk
  4. Araç belirtilen genişlik ve girintilemeye göre gerçek zamanlı biçimlendirme gösterir
  5. Belge için biçimlendirilmiş sonucu kopyalayın veya satır sonlarını kaldırmak için geri yükleme düğmesine tıklayın

Özellikler

  • Özel karakter genişliği: Her satırda 64 / 76 / 80 / 100 karakter desteği, farklı düzen ihtiyaçlarına esnek uyum
  • Yapılandırılabilir girintileme: 0 / 2 / 4 boşluk girinti desteği, kod blokları veya Markdown'da hizalama için uygun
  • Saf gösterim optimizasyonu: Yalnızca görüntüleme şeklini ayarlar, orijinal Base64 kodlama verisini değiştirmez
  • Gerçek zamanlı biçimlendirme: 200ms gecikme önleme, girerken anında biçimlendirme, gecikme yok
  • Tek tıkla geri yükleme: Tüm satır sonlarını ve girintileri kaldırarak tek satırlık Base64'e döndürme
  • Karakter ve satır sayımı: Girdi karakter sayısı, çıktı toplam satır sayısını gerçek zamanlı gösterme
  • Tek tıkla kopyalama: Biçimlendirilmiş sonuç doğrudan panoya kopyalanarak belge veya iş kaydı için kullanılabilir
  • Tarayıcıda yerel işleme, yükleme yok: Tüm biçimlendirme tarayıcı içinde yapılır, herhangi bir sunucudan geçmez

Kod Örnekleri

JavaScript: Base64 Biçimlendirmesini Manuel Olarak Uygulama (Temel Mantığı Anlama)

javascript

Base64 biçimlendirmenin temel mantığını anlama — karakter genişliğine göre bölme ve satır sonları ekleme.

// Base64 biçimlendirme fonksiyonu (bu araçla aynı mantık)
function formatBase64(input, lineLength = 76, indent = 0) {
  // 1. Tüm boşluk karakterlerini kaldır
  const clean = input.replace(/\s/g, '');
  if (!clean) return '';

  // 2. Belirtilen genişliğe göre böl
  const lines = [];
  for (let i = 0; i < clean.length; i += lineLength) {
    const line = clean.slice(i, i + lineLength);
    lines.push(' '.repeat(indent) + line);
  }

  // 3. Satır sonlarıyla birleştir
  return lines.join('\n');
}

// Kullanım örneği
const b64 = 'a'.repeat(200);
console.log(formatBase64(b64, 76, 0));
// Çıktı: Her satırda 76 karakter Base64

// Biçimlendirmeyi kaldır (kod çözme veya iletim için)
function unformatBase64(input) {
  return input.replace(/\s/g, '');
}

console.log(unformatBase64(formatBase64(b64, 76, 0)).length); // 200

Python: Base64 Biçimlendirme + MIME Satır Katlaması

python

Python ile 76 karakter satır katlaması (MIME standardı) ve girintileme belirtme uygulaması.

import textwrap

def format_base64(b64_str: str, width: int = 76, indent: int = 0) -> str:
    """Base64 dizesini çok satırlı biçimlendir"""
    # Tüm boşlukları kaldır
    clean = ''.join(b64_str.split())
    if not clean:
        return ''

    # textwrap ile genişliğe göre böl
    lines = textwrap.wrap(clean, width=width)

    # Girintileme ekle
    if indent > 0:
        lines = [' ' * indent + line for line in lines]

    return '\n'.join(lines)


# Kullanım örneği
b64 = 'aGVsbG8gd29ybGQ=' * 10
print(format_base64(b64, 76, 0))

# MIME Base64'ü tekrarla (RFC 2045)
mime_format = format_base64(b64, 76)
print(f'MIME Base64 satır sayısı: {len(mime_format.splitlines())}')

# Tek satıra geri yükle
single_line = b64.replace('\n', '').replace(' ', '')
print(f'Tek satır uzunluğu: {len(single_line)}')

Komut Satırı: fold Aracı + MIME Base64 Satır Katlaması

bash

Linux/macOS sistemlerinde yerleşik fold aracı ile komut satırında hızlı Base64 biçimlendirme.

# 1. Base64 girdisi → 76 karakter satır katlaması (MIME standardı)
echo "aGVsbG8gd29ybGQ=" | base64 | base64 | fold -w 76

# 2. Uzun Base64 dosyasını biçimlendir → yeni dosyaya çıktı
fold -w 76 encoded.txt > formatted.txt

# 3. 64 karakter satır katlaması (kompakt gösterim)
fold -w 64 encoded.txt > compact.txt

# 4. Tüm satır sonlarını kaldır (biçimlendirmeyi geri al)
tr -d '\n' < formatted.txt > single-line.txt

# 5. Doğrulama: Base64 uzunluğu + satır sayısı
wc -c encoded.txt | awk '{print "Karakter sayısı:", $1}'
wc -l formatted.txt | awk '{print "Satır sayısı:", $1}'

# 6. openssl ile tam base64 kodlama + biçimlendirme birleştir
echo "Hello 世界" | openssl base64 -A | fold -w 76 > hello.b64.txt
cat hello.b64.txt

Sık Sorulan Sorular

Biçimlendirme Base64'ün gerçek içeriğini değiştirir mi?

Değiştirmez. Biçimlendirme yalnızca gösterim aşamasında satır sonları ve girinti boşlukları ekler, kodlamanın kendisini değiştirmez. Biçimlendirilmiş içerikten tüm boşluklar kaldırılarak orijinal tek satırlık Base64'e geri dönülebilir. Tüm Base64 kod çözücüler (tarayıcı yerel atob / Node.js Buffer / Python base64) boşlukları otomatik olarak görmezden gelir, bu nedenle biçimlendirilmiş sonuç doğrudan kod çözme için kullanılabilir.

Base64 biçimlendirme ile MIME Base64 arasındaki fark nedir?

MIME Base64, RFC 2045 standardına göre 76 karakter genişliğinde katı satır katlaması yapar ve e-posta eki iletimi için standarttır. Bu aracın biçimlendirmesi daha esnek olup 64/76/80/100 karakter genişliği ve 0/2/4 boşluk girintileme desteği sunar, belge, ekran görüntüsü gibi farklı gösterim ihtiyaçlarına daha uygundur. 76 karakter genişliği seçilerek MIME katlaması tekrarlanabilir.

Günlük görüntüleme ve iş kaydı için uygun mu?

Kesinlikle uygun. Uzun Base64 dizeleri iş takip sistemleri (Jira / Zendesk), sohbet araçları (Slack / Teams) veya Markdown belgelerinde taşarak yatay kaydırmaya neden olur. Biçimlendirme sonrası çok satırlı gösterim net ve okunabilir olur, doğrudan iş eki veya sohbet penceresine yapıştırılabilir.

Biçimlendirilmiş Base64 doğrudan kod çözme için kullanılabilir mi?

Kullanılabilir. Tüm yaygın Base64 kod çözücüler satır sonlarını ve boşlukları otomatik olarak görmezden gelir. Sorun yaşarsanız (eski OpenSSL gibi), kod çözmeden önce satır sonlarını kaldırmak için 'Geri Yükle' düğmesine tıklayabilirsiniz.

Neden 64 / 76 / 80 / 100 gibi farklı karakter genişlikleri var?

64 karakter kompakt belgeler için uygundur (CLI terminali, Markdown tabloları gibi); 76 karakter MIME e-posta standardıdır; 80 karakter geleneksel terminal genişliğidir; 100 karakter geniş ekran editörleri ve modern belgeler için uygundur. Her genişliğin kendi en iyi kullanım senaryosu vardır.

Girintilemenin amacı nedir?

Girintileme (0/2/4 boşluk) Base64'ün kod blokları veya Markdown'da hizalanmasını sağlar: 0 boşluk düz metin için uygundur, 2 boşluk JS/Python kod stili için uygundur, 4 boşluk Markdown iç içe kod blokları için uygundur.

Biçimlendirme Base64 karakter sayısını artırır mı?

Yaklaşık %1-3 oranında artırır (satır sonları + girinti boşlukları), ancak kod çözme sonuçlarını etkilemez. İletim boyut duyarlı ise (URL parametreleri gibi), tek satıra geri yüklemek için önce 'Sıfırla' özelliğini kullanmanız önerilir.

UTF-8 / Çince karakterleri destekliyor mu?

Bu araç doğrudan karakter kümelerini işlemez — yalnızca Base64 dizelerinin kendisini biçimlendirir. Base64 içinde Çince karakterler bulunsa bile (UTF-8 kodlamasından sonra Base64'e çevrilmiş), biçimlendirme kodlama doğruluğunu etkilemez.

Büyük dosya biçimlendirme için uygun mu?

Uygundur. Araç gerçek zamanlı biçimlendirme yapar, tarayıcılar 1MB içindeki Base64 dizeleri için sorun yaşamaz. 10MB'ı aşması arayüz gecikmesine neden olabilir, parça parza biçimlendirme önerilir.

Biçimlendirme sonrası boyut artar, sıkıştırılabilir mi?

Biçimlendirme yalnızca satır sonları ve girintiler ekler, sıkıştırma algoritmaları için uygundur. gzip / Brotli sıkıştırma kullanılabilir veya Base64 Stats aracı ile belirli artış miktarı kontrol edilebilir.

Sorun Giderme

Biçimlendirme sonrası bazı Base64 karakterleri kaybolur

Kaynak Base64 yasadışı karakterler içerebilir (satır sonları doğru işlenmemiş gibi). Önce Base64 Clean aracı ile temizleyin, sonra biçimlendirin.

Biçimlendirilmiş sonuç orijinal baytlarla tutarsız

Bu imkansızdır — biçimlendirme yalnızca boşluk karakterleri ekler, bayt içeriğini değiştirmez. Tutarsızlık fark ederseniz, kaynak Base64 hatalı işlenmiş demektir (tekrarlanan biçimlendirme boşlukların tekrar tekrar eklenmesine neden olmuş gibi).

Uzun dize biçimlendirme sonrası arayüz gecikmesi

10MB'ı aşan Base64 dizeleri tarayıcı gecikmesine neden olabilir. Öneriler: ①Parça parça işleme; ②Önce base64-clean ile fazla boşlukları kaldırma; ③Her satırın işleme yükünü azaltmak için genişliği azaltma (64 karakter gibi).

Sözlük

Base64 Biçimlendirme
Base64 dizesini gösterim aşamasında belirli genişliğe göre çok satırlı bölmek, yalnızca görsel sunumu etkiler, kodlamanın kendisini değiştirmez.
MIME Base64
RFC 2045 tarafından tanımlanan, her 76 karakterde satır katlaması yapan Base64 varyantı, öncelikle e-posta eki iletimi için kullanılır.
Karakter Genişliği (satır uzunluğu)
Her satırda görüntülenen Base64 karakter sayısı. Yaygın değerler: 64 (kompakt), 76 (MIME standardı), 80 (standart yazdırma), 100 (geniş ekran).
Girintileme (indent)
Her satırın başındaki boşluk sayısı, yaygın değerler: 0 (girinti yok), 2 (kod stili), 4 (Markdown kod bloğu).
Boşluk Karakteri (whitespace)
Base64 dizesinde bulunabilen boşluklar, sekmeler, satır sonları vb. Biçimlendirme önce bu karakterleri kaldırır, sonra belirtilen genişliğe göre yeniden ekler.
Biçimlendirmeyi Kaldır (unformat)
Biçimlendirilmiş (çok satırlı + girintili) Base64'ü tek satırlık boşluksuz forma geri yüklemek, kod çözme veya iletim için kullanılır.

4 Karakter Genişliği Karşılaştırma Tablosu

Farklı karakter genişlikleri farklı gösterim senaryolarına uygundur, hedef ortama göre seçilebilir.

Karakter GenişliğiTipik Senaryoİlgili StandartÖrnek
64 karakterCLI terminali, Markdown tablolarıKompakt gösterimKüçük ekran / yüksek yoğunluk
76 karakterE-posta eki iletimiRFC 2045 MIMEE-posta / SMTP
80 karakterGeleneksel terminal yazdırmaGeleneksel Unix terminaliBelge yazdırma
100 karakterModern editör / geniş ekranModern UI standardıIDE / Belge

3 Girintileme Stili Karşılaştırma Tablosu

Farklı girintileme stilleri farklı kod standartlarına uygundur, ekip/proje alışkanlıklarına göre seçilir.

GirintilemeKod StiliÖrnek (Base64 1. satır)
0 boşlukGirintisiz (düz metin)QUJD...
2 boşlukJS / Python standardı QUJD...
4 boşlukMarkdown iç içe / Java standardı QUJD...

Authoritative References