Nasıl kullanılır
- Bir dosyayı yükleme alanına bırakın veya cihazınızdan dosya seçmek için alana tıklayın (en fazla 100 MB).
- Çıktı biçimini seçin: API'ler ve yapılandırma dosyaları için ham Base64, HTML ve CSS için data URI.
- "Satırları 76 karakterde böl" seçeneğini yalnızca hedef, e-posta gövdesi gibi MIME tarzı satırlar bekliyorsa açın.
- Dosya adını, MIME türünü ve boyutları kontrol edin; ardından sonucu kopyalayın veya .txt dosyası olarak indirin.
Bir dosya neden Base64 olarak kodlanır?
Sistemler arasında veri taşıyan birçok biçim yalnızca metin kabul eder. JSON, XML, YAML, HTML ve e-posta başlıkları rastgele baytları barındıramaz, çünkü bir dosya sıfır baytları, geçersiz karakter dizileri veya bir metin ayrıştırıcısının değiştireceği satır sonları içerebilir. Base64, dosyanın her 3 baytını harfler, rakamlar, + ve / karakterlerinden oluşan 64 karakterlik bir kümeden 4 karaktere eşler. Böylece her dosya düz bir dize olarak taşınabilir ve kodu çözüldüğünde birebir aynı baytlara geri döner.
Bunun bedeli boyuttur: kodlanmış metin dosyadan yaklaşık %33 daha büyüktür ve satır sonları biraz daha ekler. 3 MB'lık bir dosya yaklaşık 4 MB Base64'e dönüşür.
Yaygın kullanım alanları
- JSON ve XML API'leri. Multipart form yüklemelerini kabul etmeyen uç noktalar, dosyayı çoğu zaman bir alanda Base64 dizesi olarak, adını ve türünü ise diğer alanlarda bekler.
- E-posta ekleri. MIME, ekleri en fazla 76 karakterlik satırlar hâlinde Base64 olarak kodlar (RFC 2045). Satır bölme seçeneği aynı düzeni üretir.
- Yapılandırma ve gizli bilgiler. Bir Kubernetes Secret nesnesinde
dataaltındaki değerler Base64'tür; bu nedenle bir TLS sertifikası, anahtar deposu veya lisans dosyası manifeste eklenmeden önce kodlanmalıdır. CI sistemleri de ikili gizli bilgileri çoğu zaman aynı şekilde ortam değişkenlerinde saklar. - Veritabanları ve kaynak kod. Yazı tipi, ses veya test verisi gibi küçük bir ikili dosya, ayrı bir dosya yerine bir metin sütununda veya dize sabitinde saklanabilir.
Görseller için Görselden Base64'e aracı yeniden boyutlandırma ve hazır HTML ile CSS parçacıkları sunar. Base64'ü tekrar dosyaya dönüştürmek için Base64'ten Dosyaya aracını kullanın.
Ham Base64 mı, data URI mı?
Ham Base64 yalnızca kodlanmış baytlardan oluşur. API'lerin, Kubernetes'in, veritabanlarının ve çoğu programlama kütüphanesinin beklediği budur; genellikle yanında dosya adı veya içerik türü için ayrı bir alan bulunur.
Data URI ise başa MIME türünü içeren bir önek ekler, örneğin data:application/pdf;base64,. Böylece tarayıcı dizenin tamamını src, href veya CSS url() içinde URL olarak kullanabilir. Düz Base64 isteyen bir API'ye bu öneki göndermeyin; birçok kod çözücü onu reddeder. MIME türünü kendiniz belirlemek veya yüzde kodlaması kullanmak için Data URI Oluşturucu aracını deneyin.
JSON, YAML ve kaynak kod için satır bölmeyi kapalı bırakın. Bir JSON dizesi ham satır sonu içeremez, YAML'da bölünmüş değerler ise kolayca bozulur.
Komut satırında dosya kodlama
# Linux (GNU coreutils): -w 0, varsayılan 76 karakterlik satır bölmeyi kapatır
base64 -w 0 report.docx > report.txt
# macOS
base64 -i report.docx -o report.txt
# Windows PowerShell
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\files\report.docx"))
# Kubernetes dosyayı sizin yerinize kodlar
kubectl create secret generic app-cert --from-file=tls.crt
Sıkça sorulan sorular
Dosya boyutu sınırı var mı?
En fazla 100 MB boyutundaki dosyalar kodlanabilir. Çıktı yaklaşık üçte bir daha büyük olduğundan 100 MB'lık bir dosya yaklaşık 133 MB metin üretir. Bu kadar metni göstermek sayfayı yavaşlatabilir; bu nedenle büyük dosyalarda çıktı kutusundan kopyalamak yerine "İndir" düğmesini kullanın.
Dosyalarım bir sunucuya yükleniyor mu?
Hayır. Dosya, tarayıcınızdaki JavaScript tarafından okunur ve kodlanır; ağ üzerinden hiçbir şey gönderilmez. Böylece sertifikalar, anahtarlar ve özel belgeler cihazınızda kalır.
Base64 dosyayı sıkıştırır veya şifreler mi?
Hiçbirini yapmaz. Base64 veriyi yaklaşık %33 büyütür ve herkes kodunu çözebilir. Dosyanın gizli kalması gerekiyorsa kodlamadan önce şifreleyin; boyut önemliyse önce sıkıştırın, örneğin ZIP veya gzip arşivi olarak.
Çıktıda neden satır sonları var?
"Satırları 76 karakterde böl" seçeneği açık. Bu, e-postada kullanılan MIME biçimine uyar; ancak çoğu API, JSON belgesi ve Kubernetes manifesti kesintisiz tek bir satır bekler, bu yüzden bu durumlarda seçeneği kapatın.