Base64 Nedir?
Base64, ister metin ister resim ya da dosyanın tamamı olsun, her türlü veriyi yalnızca 64 güvenli karakterle yazmanın bir yoludur: A–Z, a–z, 0–9, + ve /; sonda dolgu (padding) olarak da = kullanılır (RFC 4648'de tanımlanmıştır). Base64, ikili verinin e-posta, JSON, HTML ve HTTP başlıkları gibi düz metin için tasarlanmış sistemlerden geçebilmesi için vardır.
Her 3 baytlık girdi 4 Base64 karakterine dönüşür; bu yüzden kodlanmış veri orijinalinden yaklaşık %33 daha büyüktür. Örneğin Hi metni SGk= olur. Base64 ile e-posta eklerinde, HTML ve CSS'teki data: resim URI'lerinde, dosya taşıyan API yanıtlarında, JSON Web Token'larda ve HTTP Basic kimlik doğrulama başlıklarında karşılaşırsınız.

Base64 Decode Nasıl Yapılır?
Çöz kutusuna yapıştırın. Satır sonları, boşluklar, data:...;base64, öneki, URL-güvenli karakterler (- ve _) ve eksik = dolgusu: hepsi sorunsuz işlenir.
Veri metinse, çözülen UTF-8 metin hemen görünür ve kopyalamaya hazırdır.
Veri bir dosyaysa çözücü, biçimi ilk baytlarından tanır: resimler önizlenir; PDF, ZIP ve diğer dosyalar indirilebilir.
Advertisement
Metin veya Dosya Base64'e Nasıl Kodlanır?
Kodla sekmesine metni yazın veya yapıştırın. Metin UTF-8 olarak kodlanır; böylece Türkçe karakterler (ç, ğ, ı, ş), Asya alfabeleri ve emojiler bozulmadan geri çözülür.
URL'lerde ve JWT'lerde kullanılan Base64URL için URL-güvenli seçeneğini, MIME e-posta gövdeleri için Satırları 76 karakterde böl seçeneğini işaretleyin.
Dosyadan Base64 sekmesine 10 MB'a kadar herhangi bir dosyayı bırakın. HTML veya CSS'e gömmek için ham Base64'ü ya da data:image/png;base64,... gibi hazır bir data URI kopyalayın.
Base64'ü Resme ve PDF'e Çevirme
Base64 çoğu zaman bir dosyayı sarar: bir web sayfasına veya e-postaya gömülü bir resim ya da bir API'nin döndürdüğü bir PDF. Çözücü, dosyanın ne olduğunu anlamak için sihirli sayılar (magic numbers) olarak bilinen ilk baytlara bakar: PNG, JPEG, GIF, WebP ve SVG resimleri canlı önizlenir; PDF, ZIP, GZIP, MP3 ve MP4 dosyaları için bir indirme düğmesi görünür. PDF'ler ayrıca yeni bir sekmede açılabilir.
Ters yönde, resmi Base64'e çevirme işlemi Dosyadan Base64 sekmesinde yapılır: resmi bırakın ve data URI'yi kopyalayın.
Advertisement
Base64 Varyantları: Standart, URL-Güvenli, MIME ve Data URI
= dolgusuyla birlikte + ve / kullanır. Çoğu kütüphanede ve API'de varsayılandır.
+ ve / yerine - ve _ kullanır ve genellikle dolguyu atar; böylece sonuç bir URL'de veya dosya adında yer alabilir. JSON Web Token'lar bunu kullanır.
E-posta eklerinde kullanıldığı gibi 76 karakterlik satırlara bölünmüş standart Base64.
Önüne dosya türünü belirten bir önek eklenmiş Base64; örneğin data:image/png;base64,. Böylece tarayıcı onu sayfa içinde doğrudan gösterebilir.
Base64 Bir Kodlamadır, Şifreleme Değildir
Base64 veriyi taşınmaya uygun hale getirir, gizli hale getirmez. Bu araç da dahil olmak üzere herkes onu bir saniyede çözebilir:
Base64'ü asla parolaları veya anahtarları gizlemek için kullanmayın. Bir HTTP Basic kimlik doğrulama başlığı, Base64'e çevrilmiş
user:passworddeğerinden ibarettir; bu yüzden yalnızca HTTPS üzerinden gönderilmelidir. Bir sitenin sertifikasını SSL sertifika kontrolü aracıyla denetleyin.JWT yükleri okunabilir. Bir JSON Web Token'ın orta kısmı Base64URL ile kodlanmış JSON'dur; bu nedenle token'a sahip olan herkes içindeki talepleri (claims) okuyabilir.
Burada çözme işlemi gizli kalır. Bu araç tamamen tarayıcınızda çalışır; yapıştırdığınız veya yüklediğiniz veriler sunucumuza hiçbir zaman ulaşmaz.
Gerçek gizlilik mi gerekiyor? Gerçek bir şifreleme kullanın ve güçlü gizli anahtarları şifre oluşturucu ile üretin.
Advertisement
JavaScript, Python ve Komut Satırında Base64
Her dilde Base64 yerleşik olarak bulunur. Metni önce UTF-8 olarak kodlamayı unutmayın; aksi halde İngilizce dışındaki karakterler bozulur.
// Encode UTF-8 text
const b64 = btoa(String.fromCharCode(...new TextEncoder().encode('héllo'))) // 'aMOpbGxv'
// Decode back to text
const text = new TextDecoder().decode(Uint8Array.from(atob(b64), (c) => c.charCodeAt(0)))import base64
b64 = base64.b64encode('héllo'.encode()).decode() # 'aMOpbGxv'
text = base64.b64decode(b64).decode() # 'héllo'
url_safe = base64.urlsafe_b64encode(b'\xfb\xff\xbf') # b'-_-_'echo -n 'hello' | base64 # aGVsbG8=
echo 'aGVsbG8=' | base64 --decode # hello
base64 -w 0 image.png > image.txt # Linux: one line, no wrapping[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('hello')) # aGVsbG8=
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('aGVsbG8=')) # helloDiğer Kodlama ve Metin Araçları
Metin ve veriyle çalışmak için diğer dönüştürücüler:
Metni binary'ye ve geri çevirin; hex, ondalık ve sekizlik ile.
Gizli sıfır genişlikli karakterleri bulun ve kaldırın.
Bir sunucunun döndürdüğü başlıkları, kodlanmış olanlar dahil görün.
Güçlü, rastgele parolalar ve gizli anahtarlar oluşturun.