Base64 Kodlayıcı Çözücü - Ücretsiz Çevrimiçi Base64 Dönüştürücü Aracı
Ücretsiz base64 kodlayıcı çözücü aracı. Metni Base64'e dönüştürün veya Base64 dizelerini anında çözün. Standart ve URL-güvenli kodlamayı destekler. Giriş gerekli değildir.
Base64 Kodlayıcı/Kod Çözücü
Metni Base64 kodlamasına dönüştürün ve tersine çevirin
Belgeler
Base64 kodlaması nedir?
Base64, görüntüler gibi ikili veriler de dâhil olmak üzere her türlü veriyi yalnızca harflerden, rakamlardan ve birkaç sembolden oluşan düz metne dönüştürmenin bir yoludur. Base64 kodlayıcı, verileri bu metin biçimine dönüştürür. Base64 kod çözücü, verileri özgün hâline geri döndürür. Programlar, ikili verileri düz metin bekleyen e-posta veya JSON gibi sistemler üzerinden güvenli biçimde aktarmak için Base64 kullanır.
Base64, 64 karakterlik bir alfabe kullanır:
- Büyük harfler A–Z (26 karakter)
- Küçük harfler a–z (26 karakter)
- Rakamlar 0–9 (10 karakter)
- Genellikle
+ve/olmak üzere iki sembol (2 karakter)
Bazı sistemler, dolgu olarak çıktının sonunda eşittir işareti (=) de kullanır. Dolgu, 64 karakterlik alfabenin parçası değildir; yalnızca uzunluğu tamamlar.
Base64 neden var?
E-posta (SMTP) ve HTTP'nin bazı bölümleri de dâhil olmak üzere birçok eski metin protokolü, 7 bitlik ASCII metni taşımak üzere oluşturulmuştur. Bu protokoller, JPEG görüntüsünün içindeki baytlar gibi ham ikili baytları bozabilir. Base64, her baytı yalnızca güvenli ve yazdırılabilir karakterlerle temsil ederek bu sorunu önler. Bu nedenle e-posta ekleri, web sayfalarına gömülü görüntüler ve JSON içindeki ikili alanlar genellikle önce Base64'ten geçirilir.
Base64 sıkıştırma veya şifreleme değildir. Kodlanmış çıktı, girdiden her zaman daha büyüktür ve herkes onu parola veya anahtar olmadan çözebilir.
Bu araç nasıl kullanılır?
- Girdi kutusuna metin yazın veya yapıştırın.
- Metni Base64'e dönüştürmek için "Encode to Base64", bir Base64 dizesini yeniden metne dönüştürmek için "Decode from Base64" seçeneğini belirleyin.
- Yazarken çıktının otomatik olarak güncellenmesi için canlı dönüştürmeyi etkinleştirin.
- Kopyalama düğmesiyle sonucu kopyalayın.
Araç, standart Unicode metnini okur ve yazar; bu nedenle yalnızca düz İngilizce harfler değil, aksanlı harfler, semboller ve emojiler de doğru biçimde kodlanıp çözülebilir.
Base64 kodlaması nasıl çalışır?
Base64, her 3 giriş baytını (24 bit) 4 çıktı karakterine (her biri 6 bit taşır) dönüştürür; çünkü 24 bölü 6 eşittir 4.
- Giriş baytlarını alın ve ikili biçimde yazın.
- Bitleri 24 bitlik (3 bayt) parçalara ayırın.
- Her 24 bitlik parçayı dört 6 bitlik bölüme ayırın.
- Her 6 bitlik sayıyı (0 ile 63 arası) Base64 alfabesinde bulun ve karşılık gelen karakteri yazın.
Giriş uzunluğu 3 sayısının katı değilse son parça kısadır. Kodlayıcı bu parçayı sıfır bitlerle doldurur, ardından sonucun yine 4'lü gruplar hâlinde çıkması için çıktıya = karakterleri ekler:
- Artan bir bayt, 2 Base64 karakteri ve
==üretir. - Artan iki bayt, 3 Base64 karakteri ve bir
=üretir.
Base64 kodlama örneği
"Hello" sözcüğünün kodlanması:
- ASCII değerleri: 72, 101, 108, 108, 111
- İkili:
01001000 01100101 01101100 01101100 01101111 - İlk 3 bayt (24 bit), dört 6 bitlik gruba ayrılır:
010010 000110 010101 101100; bunlar 18, 6, 21, 44 sayılarına, yaniS,G,V,skarakterlerine karşılık gelir. - Kalan 2 bayt (16 bit), sona 2 sıfır bit eklenerek üç 6 bitlik gruba ayrılır:
011011 000110 111100; bunlar 27, 6, 60 sayılarına, yanib,G,8karakterlerine karşılık gelir. - 2 bayt arttığı için sona bir
=eklenir. - Sonuç:
SGVsbG8=
Kod çözme bu adımların tersidir: her karakter kendi 6 bitlik sayısına dönüştürülür, bitler bir akışta birleştirilir ve bu akış 8 bitlik baytlar hâlinde okunur.
Base64 kodlanmış uzunluk formülü
n baytlık bir girdinin karakter cinsinden kodlanmış uzunluğu şöyledir:
encoded_length = 4 × ⌈n / 3⌉
Burada ⌈x⌉, en yakın tam sayıya yukarı yuvarlama anlamına gelir. Bu formül, Base64 çıktısının neden girdiden yaklaşık üçte bir daha büyük olduğunu gösterir: her 3 giriş baytı için 4 çıktı karakteri, %33 artış demektir.
Base64 nerelerde kullanılır?
- E-posta ekleri (MIME). E-posta metin için oluşturulduğundan dosya ekleri gönderilmeden önce Base64'e dönüştürülür; bu da ekli dosyayı özgün hâlinden yaklaşık %33 daha büyük yapar.
- Veri URI'leri. Küçük görüntüler,
data:image/png;base64,iVBORw0KGgo...örneğinde olduğu gibi HTML veya CSS içine doğrudan metin olarak gömülebilir; böylece ayrı bir dosya isteği gerekmez. Büyük dosyalar sayfayı şişirdiği ve ayrı olarak önbelleğe alınamadığı için bu yöntem küçük dosyalarda daha uygundur. - API'ler ve JSON. JSON'un ham ikili verileri barındırmak için yerleşik bir yolu yoktur; bu nedenle JSON API'si üzerinden gönderilen ikili dosyalar genellikle önce Base64 ile kodlanır.
- HTTP Temel Kimlik Doğrulaması.
Authorizationüstbilgisi, kullanıcı adı ve parolayı Base64 olarak kodlar; örneğinAuthorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=. Bu yöntem tek başına güvenli değildir; kimlik bilgileri bunları ele geçiren herkes tarafından okunabilir. Bu nedenle Temel Kimlik Doğrulaması yalnızca HTTPS üzerinden kullanılmalıdır. - JSON Web Token'ları (JWT). Bir JWT'nin üç bölümünün her biri, URL içinde kullanılmaya uygun bir varyant olan Base64URL ile kodlanır.
- İkili verileri metin olarak depolama. Yalnızca metin kabul eden veritabanları veya yapılandırma dosyaları, ikili verileri bazen Base64 dizesi olarak tutar.
Base64'ün diğer kodlamalarla karşılaştırılması
URL güvenli Base64, standart + ve / karakterlerini - ve _ ile değiştirir; çünkü + ve / bir URL içinde özel anlama sahiptir. JWT'lerde, URL sorgu parametrelerinde ve dosya adlarında kullanılır. Bu araç standart Base64 çıktısı üretir; URL güvenli biçime dönüştürmek için yalnızca bu iki karakteri değiştirmek yeterlidir.
Base32, 32 karakterlik bir alfabe kullanır; bu nedenle her karakter 6 yerine 5 bit taşır. Her 5 baytı 8 karaktere dönüştürür; bu, Base64'teki %33 değerine kıyasla %60 ek yük demektir (8 ÷ 5 = 1,6). Base32, çıktının elle yazılması veya telefonda okunması gerektiğinde seçilir; çünkü büyük-küçük harf ayrımını ve kolayca karıştırılan karakterleri önler.
Onaltılık sistem, 16 karakter kullanır (0–9, A–F) ve bayt başına 2 karakter gerektirir; bu da boyutu iki katına çıkarır (%100 ek yük). Okunabilirliğin küçük boyuttan daha önemli olduğu özetlerin, renklerin ve MAC adreslerinin gösteriminde yaygındır.
Base64 ne zaman kullanılmamalı?
Base64 boyut ve CPU maliyeti eklediğinden ağ üzerinden gönderilen büyük dosyalar için uygun değildir; ham ikili veriyi doğrudan göndermek daha küçük ve hızlıdır. Parolalar veya API anahtarları gibi hassas bilgileri gizlemek için ona asla güvenilmemelidir; çünkü kodunu çözmek için gizli bilgi gerekmez. Büyük dosyaları depolamak için veritabanının ikili sütun türü veya bir dosya depolama hizmeti, metin alanındaki uzun bir Base64 dizesinden genellikle daha iyidir.
Yaygın hatalar
- UTF-8 dönüşümünü atlama. Aksanlı harfler veya emoji içeren metni önce UTF-8 baytlarına dönüştürmeden kodlamak çıktıyı bozabilir.
- Dolguyu kaldırma. Bazı sistemler sondaki
=karakterlerini kaldırır. Dize uzunluğu 4 sayısının katı olacak şekilde yeniden doldurulursa çoğu kod çözücü yine çalışabilir; ancak hepsi bunu kabul etmez. Bu nedenle dolguyu korumak daha güvenlidir. - Satır sonlarının kalması. Eski MIME tabanlı kodlayıcılar her 76 karakterde bir satır sonu ekler; modern kod çözücülerin çoğu, satır sonları bulunmayan tek ve kesintisiz bir dize bekler.
- Varyantları karıştırma. Standart Base64 ile URL güvenli Base64, alfabenin aynı iki konumu için farklı karakterler kullanır; yanlış varyantla kod çözmek anlamsız veri veya hata üretir.
Sık sorulan sorular
Base64 bir şifreleme biçimi midir? Hayır. Bu, şifreleme değil, geri döndürülebilir bir metin kodlamasıdır. Herkes bir Base64 dizesinin kodunu parola olmadan anında çözebilir. Verilerin gizli kalması gerekiyorsa AES gibi bir şifreleme algoritması kullanın.
Base64 verileri neden büyütür? Çünkü bir ham bayt 8 bit taşırken, her karakter yalnızca 6 bit taşır. 3 baytın (24 bit) 4 karaktere dönüştürülmesi, çıktının girdiden 4/3, yani yaklaşık %33 daha büyük olması anlamına gelir.
Base64 görüntüleri ve diğer ikili dosyaları kodlayabilir mi? Evet. Görüntüler, PDF'ler ve ses dosyaları da dâhil olmak üzere her ikili dosya Base64 ile kodlanabilir ve bayt bazında aynen geri çözülebilir. HTML veya CSS içine gömülen küçük görüntülerde yaygın olarak kullanılır; ancak büyük dosyalar için uygun değildir.
Base64 ile Base64URL arasındaki fark nedir?
Base64URL, standart + ve / karakterlerini - ve _ ile değiştirir; böylece sonuç, ek kaçış işlemi olmadan URL veya dosya adı içinde güvenle kullanılabilir. JWT'ler bu nedenle Base64URL kullanır.
Base64 dizem kod çözülürken neden "geçersiz" hatası veriyor?
En yaygın nedenler, URL güvenli varyantta kullanılan - ve _ gibi Base64 alfabesinde bulunmayan karakterler veya uzunluğu 4 sayısının katından bir fazla olan dizelerdir. Geçerli hiçbir Base64 dizesi bu uzunluğa sahip olamaz. Kod çözülen baytlar geçerli UTF-8 metni olmadığında da kod çözme başarısız olur. Bu araç dize içindeki boşlukları ve satır sonlarını yok sayar; sondaki = dolgusu kaldırılmış dizelerin kodunu da çözebilir.
Base64 nereden gelir? Bu teknik, 1980'lerde ikili verileri yalnızca metin kullanan posta sistemleri üzerinden göndermeye yönelik ilk şemalara dayanır ve MIME'ın bir parçası olarak RFC 2045 içinde 1996 yılında resmî olarak standartlaştırılmıştır. Base64, Base32 ve Base16 için güncel başvuru belirtimi RFC 4648'dir.