Base64 Temizleme

Orijinal giriş
0 karakter

Base64 dizelerindeki satır sonları, boşluklar ve görünmez karakterler gibi geçersiz içerikleri kaldıran ücretsiz çevrimiçi Base64 temizleme aracı. Boşluk karakterlerini kaldırma, özel karakterleri kaldırma ve otomatik dolgu tamamlama olmak üzere üç bağımsız seçeneği destekler ve RFC 4648 ile sıkı bir şekilde uyumlu Base64 üretir.

İlgili Öneriler

Base64 temizleme nedir?

Base64 temizleme, bir Base64 dizesinden tüm geçersiz ve gereksiz karakterleri kaldırma işlemidir. Hedef, farklı sistemler arasında iletim, depolama ve kod çözme için uygun, RFC 4648 standardına sıkı sıkıya uyan saf Base64 üretmektir.

Neden temizlemeli: Farklı kaynaklardan gelen Base64 genellikle karışmış geçersiz karakterler içerir. ① Satır sonu karakterleri (\n, \r\n) — e-posta ekleri, veritabanı alanları, günlük kayıtları çıktıları; ② Boşluklar ve sekmeler — manuel yapıştırma, Excel'den kopyalama; ③ UTF-8 BOM (EF BB BF) — Windows sisteminde kaydedilen metin dosyaları; ④ Tam genişlikli semboller, Çince noktalama işaretleri — kopyalama-yapıştırma hataları. Bunların hepsi kod çözücü hatalarını tetikler.

Üç temizleme seçeneği: ① Boşluk karakterlerini kaldırma (\s \n \r \t) — satır sonlarını ve boşlukları işler; ② Özel karakterleri kaldırma — yalnızca Base64 alfabesi A-Z a-z 0-9 + / = - _ korunur; ③ Otomatik dolgu tamamlama — sonuç uzunluğunu 4'ün katı yapar. Üç seçenek bağımsız olarak işaretlenebilir ve gerektiğinde birleştirilebilir.

Tipik kullanımlar: ① API hata ayıklama — üçüncü taraf arayüzlerden döndürülen Base64 hata verdiğinde temizleme; ② Veritabanı içe aktarma — Excel'den kopyalarken oluşan fazla boşlukları kaldırma; ③ Kod çözmeden önce ön işleme — atob()'da InvalidCharacterError'ı önleme; ④ JWT / Data URL normalleştirme — sistemler arası iletim farklılıklarını işleme.

Kullanım senaryoları

  • Kod çözmeden önce ön işleme: Üçüncü taraf arayüzlerden, JWT'den, günlük kayıtlarından gelen satır sonu veya boşluk içeren Base64'ü doğrudan kod çözülebilir forma temizleyin, InvalidCharacterError'dan kaçının.
  • Excel / e-posta yapıştırma onarımı: Excel hücrelerinden, e-posta metninden Base64 kopyalarken karışan fazla boşlukları, sekmeleri, satır sonu karakterlerini kaldırın.
  • JWT token temizleme: Satır sonları içeren üç bölümlü JWT dizesini (header.payload.signature) tek satıra normalleştirin, fazla boşluk karakterlerini kaldırın.
  • MIME eki işleme: E-posta eklerindeki Base64'ün her 76 karakterde otomatik satır sonu içeren formatını temizleyin, sonraki kod çözmeyi kolaylaştırın.
  • URL Safe uyumluluğu: - ve _ karakterlerini korur, böylece JWT'lerde, URL yollarında, dosya adlarındaki Base64 yanlışlıkla silinmez.
  • Toplu temizlemeden önce ön işleme: base64-format / base64-padding ile birlikte kullanılır — önce temizleyin, sonra biçimlendirin veya dolguyu tamamlayın.

Nasıl Kullanılır

  1. Gürültü içeren Base64 dizesini yapıştırın veya girin (satır sonları, boşluklar ve diğer geçersiz karakterler içerebilir).
  2. Gerektiğinde temizleme seçeneklerini işaretleyin: boşluk karakterlerini kaldır, özel karakterleri kaldır, otomatik dolgu tamamla (varsayılan olarak üçü de açıktır).
  3. Sağdaki çıktıyı görüntüleyin: temizlenmiş Base64, karakter sayısı, kaldırılan karakter sayısı, kod çözme geçerliliği gerçek zamanlı olarak gösterilir.
  4. Sonucu panoya kopyalayın veya sonraki işlem için .txt dosyası olarak indirin.

Özellikler

  • Boşluk karakteri kaldırma seçeneği: \n, \r, \t ve boşlukları otomatik olarak kaldırır, e-posta ekleri, Excel'den yapıştırma gibi senaryoları işler.
  • Özel karakterleri kaldırma seçeneği: Yalnızca 66 geçerli Base64 karakterini korur: A-Z a-z 0-9 + / = - _.
  • Otomatik dolgu tamamlama: Sonuç uzunluğunu 4'ün katı yapmak için işaretlenebilir, uzunluk hatalarını onarır.
  • Üç bağımsız, birleştirilebilir seçenek: Gerektiğinde işaretleyin, farklı kirlilik durumlarına esnek bir şekilde yanıt verin.
  • URL Safe karakter koruması: - ve _ karakterlerini yanlışlıkla silmez, JWT / URL senaryolarında karakter kaybını önler.
  • Gerçek zamanlı çıktı doğrulama: Çıktının kodlanabilir olup olmadığını kontrol etmek için tarayıcının atob() işlevini kullanır, durum gerçek zamanlı olarak gösterilir.
  • Karakter sayacı ve kaldırma bilgileri: Girdi/çıktı karakter sayısını, kaldırılan karakter sayısını, kod çözülebilirlik durumunu gerçek zamanlı gösterir.
  • Yerel tarayıcı işleme: Tüm temizleme işlemleri yerel olarak gerçekleşir, orijinal Base64 hiçbir sunucuya yüklenmez.

Best Practices

Önce temizleyin, sonra dolgu aracıyla tamamlayın

Temizleme yalnızca geçersiz karakterleri kaldırır ve isteğe bağlı olarak dolguyu tamamlar. Base64'te hem satır sonu hem de eksik dolgu varsa, önce üç temizleme seçeneğinin tümünü işaretlemeniz, ardından çıktı uzunluğunun hala 4'ün katı olup olmadığını kontrol etmeniz önerilir. Dolgu hala anormalse, özel dolgu aracını kullanabilirsiniz.

Üç bölümlü JWT token'ları ayrı ayrı işleyin

JWT, noktalarla birleştirilmiş üç Base64URL segmentinden (başlık.yük.ileti) oluşan bir bütündür. Temizlerken üç segmentin de boşluk karakterlerini kaldırması gerekir, ancak segmentler arasına ek karakter eklemeyin, aksi takdirde imza doğrulaması başarısız olur. Yapıştırmadan önce . ile ayırmanız, her segmenti ayrı ayrı temizledikten sonra yeniden birleştirmeniz önerilir.

URL Safe girdi için "özel karakterleri kaldır" seçeneğini işaretlemeyin

URL Safe Base64, + ve / yerine - ve _ kullanır. Bu araç varsayılan olarak bu 4 karakteri korur, ancak daha sıkı bir karakter beyaz listesini manuel olarak ayarlarsanız (yalnızca +/ izin vererek), URL Safe girdi bozulur. Karakter setinden emin değilseniz, "özel karakterleri kaldır"ı kapatın ve yalnızca "boşluk karakterlerini kaldır"ı bırakın.

Temizlemeden sonra hala hata varsa → kodlamayı ve BOM'u kontrol edin

Temizlemeden sonra atob() hala InvalidCharacterError bildiriyorsa, bunun nedeni UTF-8 BOM (EF BB BF) veya UTF-16 bayt sırası kalıntıları olabilir. Bu aracın "boşluk karakterlerini kaldır" seçeneği BOM için tasarlanmamıştır; tarayıcı konsolunda TextDecoder ile UTF-8 olarak yeniden kodlamanız ve ardından tekrar temizlemeniz önerilir.

BOM kaynağını tanıma: Windows'ta kaydedilen txt dosyası

Base64, Windows Not Defteri ile UTF-8 olarak kaydedilen bir dosyadan geliyorsa, ilk 3 bayt (EF BB BF) BOM'dur. Boşluk karakterleri ve satır sonları temizlendikten sonra bile atob hala başarısız olabilir. İşlem yöntemi: VS Code veya PowerShell ile BOM'suz UTF-8 olarak yeniden kaydedin.

Öğretim ve belgeleme sırasında temizlik öncesi ve sonrası karşılaştırmayı gösterin

Base64 temizleme, öğretimde sık karşılaşılan bir zorluktur. Belge yazarken, okuyucuların her seçeneğin ne işe yaradığını sezgisel olarak anlaması için temizlik öncesi ve sonrası Base64'ü, karakter sayısı ve kod çözülebilirlik durumu karşılaştırmasıyla birlikte eklemeniz önerilir.

Sık Sorulan Sorular

Base64 temizleme orijinal baytları değiştirir mi?

Hayır, geçerli Base64 karakterlerini silmez. Temizleme yalnızca geçersiz karakterleri (boşluk karakterleri, satır sonları, Base64 dışı karakterler) kaldırır ve ortadaki geçerli karakterleri değiştirmez. Yalnızca boşluk karakterleri ve yasadışı karakterler kaldırılırsa, temizleme öncesi ve sonrası bayt içeriği tamamen aynıdır. "Otomatik dolgu tamamlama" işaretlenirse, = yalnızca sonuna eklenir, bu da orijinal baytları etkilemez.

Üç temizleme seçeneği arasındaki fark nedir?

Boşluk karakterlerini kaldır: \s \n \r \t (boşluklar, satır sonları, satır başları, sekmeler) kaldırır. Özel karakterleri kaldır: Yalnızca 66 geçerli Base64 karakterini korur: A-Z a-z 0-9 + / = - _. Otomatik dolgu tamamlama: Uzunluğu 4'ün katı yapmak için sonuna = ekler. Üç seçenek bağımsızdır ve birleştirilebilir.

Neden atob() InvalidCharacterError veriyor?

Yaygın nedenler: ① Çince karakterler, Unicode emoji veya diğer ASCII olmayan karakterler içeriyor; ② Satır sonu veya boşluk içeriyor (Excel'den kopyalama, e-postadan yapıştırma için yaygın durum); ③ Karışık Base64URL karakterleri (- / _); ④ Uzunluk 4'ün katı değil. Bu aracın temizlemesi ilk 3 sorunu çözer ve dolgu tamamlama aracı dördüncüyü çözer.

Temizleme dolguyu siler mi?

Hayır. = Base64'ün geçerli bir karakteridir ve bu aracın "özel karakterleri kaldır" seçeneği ='i açıkça korur. Dolguyu silmek istiyorsanız, özel dolgu aracını (base64-padding) kullanın ve "dolguyu kaldır" moduna geçin.

Satır sonu içerenler nasıl temizlenir?

Varsayılan olarak işaretli "boşluk karakterlerini kaldır" seçeneği bunu halleder. Satır sonu karakterleri (\n / \r\n), sekmeler ve boşluklar kaldırılacaktır. Satır sonlarını korumak istiyorsanız (MIME e-posta eki formatı), "boşluk karakterlerini kaldır" seçeneğini kapatın.

Bu araç UTF-8 BOM'u işleyebilir mi?

BOM (EF BB BF) Unicode karakter U+FEFF'dir ve bu aracın "boşluk karakterlerini kaldır" tarafından kullanılan \s \n \r \t normal ifadesi U+FEFF'yi içermez, bu nedenle BOM kalabilir. BOM'un neden olduğu InvalidCharacterError ile karşılaşırsanız, önce kodda veya tarayıcı konsolunda TextDecoder ile BOM'u kaldırmanız önerilir.

URL Safe ve standart Base64 karakterleri birbirine dönüştürülür mü?

Hayır. Bu aracın "özel karakterleri kaldır" seçeneği dört karakterin tümünü + / - _ korur, yalnızca gürültüyü kaldırır ve aktif olarak dönüştürmez. URL Safe ↔ standart karakterler arasında karşılıklı dönüşüm gerekiyorsa, özel Base64URL aracını (base64-url-safe) kullanın.

İçeriğim sunucuya yüklenir mi?

Hayır. Tüm temizleme mantığı tarayıcıda yerel olarak çalışır ve orijinal Base64 dizesi hiçbir zaman cihazınızdan ayrılmaz. Hassas verileri (kimlik bilgileri, anahtarlar, token'lar) işlemek için güvenle kullanabilirsiniz.

Aynı anda birden fazla Base64 segmenti temizlenebilir mi?

Bu araç tek segmentli bir temizleme arayüzüdür. Temizlenmesi gereken birden fazla Base64 segmenti varsa, bu aracın mantığını döngüsel olarak çağırmanız veya ilgili komut satırı araçlarını (örn. base64 komutu) kullanmanız önerilir. Toplu kodlama/kod çözme gerekiyorsa, base64-batch-encode / base64-batch-decode kullanın.

Sorun Giderme

Temizlemeden sonra atob hala hata veriyor

Uzunluk sorunu (4'ün katı olmaması) veya BOM / kodlama kalıntıları olabilir. Önce "otomatik dolgu tamamlama"nın işaretli olduğundan emin olun; hata devam ederse, tarayıcı konsolunda TextDecoder ile UTF-8 olarak yeniden kodlamayı deneyin, BOM'u kaldırdıktan sonra tekrar temizleyin.

Temizlemeden sonra uzunluk değişti, ancak kod çözme hala başarısız oluyor

Orijinal içerik standart Base64 olmayabilir, örneğin Base32 / Base58 / Base85. Lütfen orijinal verinin kodlama formatını onaylayın ve ilgili araca geçin. Ayrıca atob'dan önce orijinal dizenin btoa ile yeniden kodlanıp kodlanamayacağını test etmeyi deneyebilirsiniz.

Temizlemeden sonra çok az karakter kaldı

Muhtemelen "özel karakterleri kaldır" seçeneği çok sıkıydı ve + / - _'yi de kaldırdı. Lütfen karakter beyaz listesini yanlışlıkla kapatıp kapatmadığınızı kontrol edin; bu araç varsayılan olarak 66 geçerli Base64 karakterinin tümünü korur. Girdi URL Safe ise, "özel karakterleri kaldır"ı kapatın.

Yapıştırdıktan sonra hiç çıktı yok

Girdi tamamen boşluk karakterlerinden oluşuyor olabilir (yalnızca boşluklar / satır sonları / sekmeler içeriyor) ve bu aracın "boşluk karakterlerini kaldır" seçeneği hepsini kaldırdıktan sonra boş dize bırakır. Lütfen orijinal girdinin en az bir Base64 karakteri (A-Z a-z 0-9 + / =) içerip içermediğini kontrol edin.

Sözlük

UTF-8 BOM
Bayt sırası işareti. Windows sisteminde UTF-8 metin kaydederken eklenen 3 baytlık önek (0xEF 0xBB 0xBF), Base64 kod çözücünün ilk karakteri geçersiz bayt olarak algılamasına neden olur.
URL Safe Base64
RFC 4648 §5'te tanımlanan, + ve / karakterlerini - ve _ ile değiştiren URL güvenli Base64 varyantı. Bu aracın "özel karakterleri kaldır" seçeneği yanlışlıkla silinmesini önlemek için bu 4 karakteri korur.
Satır sonu karakteri
\r\n (Windows) ve \n (Unix / macOS). E-posta eklerinin MIME Base64'ü genellikle her 76 karakterde bir satır sonu içerir ve temizleme sırasında kaldırılması gerekir.
Geçerli Base64 karakterleri
Standart Base64 karakter seti A-Z, a-z, 0-9, +, /, = (dolgu) ve URL Safe varyantındaki -, _ ile birlikte toplam 66 geçerli karakterdir.
InvalidCharacterError
Tarayıcının atob() işlevinin verdiği kod çözme hatası. Base64 dizesi geçerli karakter tablosu dışındaki karakterler (Çince karakterler, boşluklar, özel semboller vb.) içerdiğinde ortaya çıkar.

Base64 karakter seti ve koruma kuralları

Bu aracın "özel karakterleri kaldır" seçeneği tarafından korunan geçerli karakter tablosu.

Karakter türüKarakterlerKoruma kuralı
HarflerA-Z, a-z52 karakter, her zaman korunur
Rakamlar0-910 karakter, her zaman korunur
Standart Base64 sembolleri+ /2 karakter, her zaman korunur
URL Safe sembolleri- _2 karakter, URLSafe senaryolarında her zaman korunur
Dolgu=Sondaki dolgu, her zaman korunur
Boşluk karakterleriboşluk, \n, \r, \t"Boşluk karakterlerini kaldır" seçeneğine göre kaldırılır
DiğerÇince karakterler / emoji / BOM vb."Özel karakterleri kaldır" seçeneğine göre kaldırılır

5 yaygın Base64 kirlilik kaynağı

Base64 dizelerine geçersiz içeriklerin nasıl karıştığını öğrenin.

Kirlilik kaynağıKarışan içerikÖnerilen seçenek
E-posta ekleriHer 76 karakterde \r\nBoşluk karakterlerini kaldır
Excel / veritabanından yapıştırmaBaştaki/sondaki boşluklar / sekmelerBoşluk karakterlerini kaldır
Windows txt dosyalarıUTF-8 BOM (EF BB BF)Özel karakterleri kaldır + manuel BOM kaldırma
URL / dosya adları+ / karakter çakışmasıURLSafe'i koru (base64-url-safe ile dönüştür)
Günlük kayıtları / trace çıktılarıHata ayıklama önekleri/sonekleriÖzel karakterleri kaldır

3 temizleme seçeneği karşılaştırması

Üç seçenek bağımsızdır, birleştirilebilir, gerektiğinde birlikte kullanın.

SeçenekDavranışTipik senaryo
Boşluk karakterlerini kaldır\s \n \r \t kaldırırE-posta / Excel / günlük kayıtları
Özel karakterleri kaldırYalnızca Base64 alfabesini korurKarışan Çince karakterler / emoji / BOM
Otomatik dolgu tamamlama4'ün katına kadar sonuna = eklerUzunluk 4'ün katı değil

Authoritative References