Base64 encode ve decode

Base64 dönüştürücüye metninizi yapıştırın, yönü ve biçimi seçin, sonucu kopyalayın: araç metni Base64 veya Base64url biçimine ve geri çevirir – ç, ğ, ı, ş gibi Türkçe harfler ve emojiler UTF-8 olarak doğru işlenir – ve yaygın üç varyantta yüzde işaretli URL kodlama yapar. Geçersiz girdi, konumuyla birlikte bildirilir.

Çözmek için Base64 veya yüzde kodlu metni yapıştırın. Base64’teki satır sonları yok sayılır.

Metniniz tarayıcınızda kalır – gönderilmez, kaydedilmez ve adres çubuğuna eklenmez.

Sonuç

Sonuç
xLBzdGFuYnVs4oCZZGFuIHNlbGFtbGFyLCDDp29rIGfDvHplbCEg8J+Riw==
Boyut
35 karakter = 43 bayt UTF-8 → 60 karakter

Nasıl hesaplanır?

Base64 nedir? Base64, herhangi bir baytı yalnızca 64 yazdırılabilir karakterle (A–Z, a–z, 0–9, + ve /) gösterir. Her 3 bayt 4 karaktere dönüşür; sonda bayt artarsa boşluğu bir veya iki eşittir işareti doldurur (dolgu, padding). Sonuç, orijinalden yaklaşık üçte bir daha uzundur. Böylece ikili veriler yalnızca metin kabul eden kanallardan geçebilir – e-posta ekleri, data URL’ler (data:image/png;base64,…), HTTP Basic Auth veya JSON.

Base64 şifreleme değildir. Herkes anahtarsız olarak orijinale geri çevirebilir. Giriş bilgilerini korumak için asla Base64’e güvenmeyin.

Base64 ile Base64url farkı

Artı işareti ve eğik çizginin URL’lerde ve dosya adlarında özel anlamı vardır. Bu yüzden Base64url (RFC 4648 § 5) bunların yerine eksi işareti ve alt çizgi kullanır ve genellikle dolguyu atlar – JSON Web Token’lar (JWT) bu şekilde kodlanır. Örnek: FB FF baytları Base64’te +/8=, Base64url’de -_8 olur.

UTF-8 neden önemli?

Base64 harfleri değil, baytları kodlar. Araç bu yüzden metninizi önce UTF-8’e çevirir: “ş” iki bayt, bir emoji dört bayt olur. Tarayıcının yerleşik btoa() işlevi bunu yapamaz ve Latin-1 dışındaki karakterlerde – yani ğ, ş, ı gibi Türkçe harflerde de – hata verir. Çözülen baytlar geçerli UTF-8 metin değilse, araç bunları onaltılık değerler olarak gösterir.

URL kodlama: üç varyant

İzin verilen küme dışındaki her karakter, her UTF-8 baytı için % ve iki onaltılık rakam olarak yazılır (RFC 3986 § 2.1): boşluk = %20, ş = %C5%9F.

Tüm dönüşümler tarayıcınızda yapılır. Girdiniz gönderilmez, saklanmaz ve adres çubuğuna yazılmaz.

Sıkça sorulan sorular

Base64 nasıl çözülür (decode)?

“Çöz”ü ve “Base64” biçimini seçin, ardından kodu yapıştırın – düz metin hemen görünür. Kod - ve _ içeriyorsa Base64url’dir; bu durumda o biçimi seçin.

Base64 bir şifreleme mi?

Hayır. Base64 aynı verinin başka bir yazım biçimidir ve anahtarsız geri çevrilebilir. Veriyi korumak için gerçek şifreleme, parolalar için parola özeti (hash) gerekir.

Base64 neden sıklıkla = veya == ile biter?

Base64 3 baytlık gruplarla çalışır. Sonda 1 veya 2 bayt kalırsa, uzunluk 4’ün katı olsun diye çıktı == veya = ile doldurulur. Base64url genellikle bu dolguyu atlar.

encodeURI ile encodeURIComponent arasındaki fark nedir?

encodeURI tam adresler içindir ve / ? & = # karakterlerine dokunmaz. encodeURIComponent bunları da kodlar ve tek tek parametre değerleri için doğru seçimdir – aksi hâlde değerin içindeki bir & URL’yi böler.

Boşluk neden bazen %20, bazen + oluyor?

Yollarda ve RFC 3986’ya göre boşluk %20 olarak yazılır. HTML formları (application/x-www-form-urlencoded) onu + olarak yazar. Çözerken hangi varyantla uğraştığınızı bilmeniz gerekir – orada gerçek bir artı işareti %2B olarak yazılır.

Bir dosya Base64’te ne kadar büyür?

Orijinal boyutun yaklaşık 4/3’üne: 3 bayt 4 karakter olur. 300 KB’lık bir görsel Base64’te yaklaşık 400 KB tutar, MIME satır sonlarıyla biraz daha fazla.

Kaynaklar ve yasal dayanak

Güncelleme:

Benzer araçlar