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.
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
- URL’nin bir parçası (
encodeURIComponent): A–Z, a–z, 0–9 ve- _ . ! ~ * ' ( )dışındaki her şeyi kodlar –/ ? & = #dahil.?q=…içindeki bir arama terimi gibi tek değerler için doğru seçimdir. - Tam URL (
encodeURI): özel anlamı olan karakterleri (: / ? # & = +…) korur, yalnızca boşlukları, aksanlı harfleri ve benzerlerini kodlar. Çalışmaya devam etmesi gereken tam bir bağlantı için. - Form verisi (
application/x-www-form-urlencoded): HTML formlarının veri gönderme biçimi. Boşluk+olur,! ' ( ) ~de kodlanır. Çözerken+yeniden boşluğa döner.
İ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
- RFC 4648: RFC 4648 – The Base16, Base32, and Base64 Data Encodings (§ 4 Base64, § 5 Base64url, § 3.2 Padding)
- RFC 3986: RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax (§ 2.1 Percent-Encoding, § 2.2 Reserved Characters)
- WHATWG URL Standard – application/x-www-form-urlencoded
- MDN Web Docs – encodeURIComponent()
- MDN Web Docs – encodeURI()
- MDN Web Docs – Base64 (Unicode problem, TextEncoder)
Güncelleme:
Benzer araçlar
- Hash Hesaplama: SHA-256, SHA-512, SHA-1, MD5Metin veya dosya için SHA-256, SHA-384, SHA-512, SHA-1 ve MD5 hash hesaplama, checksum karşılaştırma – tarayıcınızda, yükleme yok, ücretsiz.
- Regex testerRegex tester: JavaScript düzenli ifadelerini canlı test edin – eşleşmeler vurgulanır, gruplar tabloda, desenin her parçası açıklanır. Ücretsiz, veri yüklenmez.
- JSON formatter, doğrulayıcı ve küçültücüJSON formatter: JSON’u RFC 8259’a göre doğrulayın, hatayı satır, sütun ve açıklamasıyla görün. Biçimlendirin, küçültün, anahtarları sıralayın – tarayıcıda.
- UUID oluşturucu: UUID v4 ve v7 oluşturun ve doğrulayınOnline UUID oluşturun: sürüm 4 (rastgele) veya sürüm 7 (zamana göre sıralı), tek seferde 1.000 adede kadar. UUID doğrulayın; sürüm, varyant ve zamanı görün.
- Şifre oluşturucuŞifre oluşturucu: güçlü rastgele şifreler ve akılda kalan parola cümleleri oluşturun, entropiyi bit olarak görün – tarayıcınızda, hiçbir şey gönderilmez.
- AB KDV numarası doğrulama (format ve kontrol hanesi)AB KDV numarası doğrulama: 27 AB ülkesi ve Kuzey İrlanda (XI) için KDV kimlik numarasının formatını ve kontrol hanesini kontrol edin. VIES bağlantısıyla.