Nasıl kullanılır
- Aracın üst kısmından "Kodla" veya "Kodu çöz" seçeneğini seçin.
- Metninizi yazın veya yapıştırın ya da herhangi bir dosyayı kodlamak için "Dosya aç" düğmesine tıklayın.
- Gerekirse "Varyant" (standart veya URL güvenli), "Dolgu", "Satır kaydırma" veya "Metin kodlaması" ayarlarını değiştirin. Sonuç siz yazarken güncellenir.
- Sonucu kopyalayın veya indirin ya da ters yönde işlemek için "Girdi ve çıktının yerini değiştir" düğmesine basın.
Base64 nedir?
Base64, herhangi bir bayt dizisini 64 yazdırılabilir ASCII karakteriyle gösteren, ikili veriyi metne dönüştüren bir kodlama yöntemidir: A-Z, a-z, 0-9, + ve /; dolgu için ise = kullanılır. Bu sayede görseller, anahtarlar veya sıkıştırılmış dosyalar gibi ikili veriler; e-posta, JSON, XML, URL ve HTML gibi metin için tasarlanmış sistemlerden güvenle geçebilir.
Kodlayıcı girdiyi her seferinde üç bayt (24 bit) olarak okur ve bunları 6 bitlik dört gruba ayırır. 0 ile 63 arasındaki her 6 bitlik değer, alfabeden bir karakter seçer. Girdi uzunluğu üçün katı değilse son grup bir veya iki = işaretiyle doldurulur. Bu nedenle Base64 çıktısı her zaman orijinal veriden yaklaşık %33 daha büyüktür.
Base64 bir şifreleme değil, bir kodlamadır. Herkes kodunu çözebilir; bu yüzden parolaları veya gizli bilgileri saklamak için asla kullanmayın.
Base64 ve Base64URL
Standart Base64, URL'lerde ve dosya adlarında özel anlamı olan + ve / karakterlerini kullanır. RFC 4648'in 5. bölümünde tanımlanan Base64URL, bunların yerine - ve _ kullanır ve genellikle dolguyu atar. JSON Web Token, OAuth ve bir değerin URL içinde yer alması gereken her durumda kullanılır. Bu sayfadaki kod çözücü her iki biçimi de otomatik olarak kabul eder.
| Standart Base64 | Base64URL | |
|---|---|---|
| 62. ve 63. karakterler | + / | - _ |
| Dolgu | Zorunlu = | İsteğe bağlı, genellikle kullanılmaz |
| URL'lerde ve dosya adlarında güvenli | Hayır | Evet |
| Tipik kullanım | E-posta (MIME), data URI, JSON, PEM anahtarları | JWT, OAuth, URL parametreleri |
Base64'ün yaygın kullanım alanları
- E-posta ekleri. MIME, ekleri satır başına 76 karakterde bölünmüş Base64 olarak kodlar. Bu biçimi elde etmek için "Satır kaydırma" seçeneğini kullanın.
- Görsel ve dosya gömme. Data URI'ler küçük görselleri, yazı tiplerini veya simgeleri doğrudan HTML ve CSS içine yerleştirir. Görselden Base64'e ve Base64'ten Görsele araçlarına göz atın.
- API'ler ve yapılandırma. JSON'da ikili veri türü bulunmadığından API'ler dosyaları, imzaları ve anahtarları Base64 dizeleri olarak gönderir. Kubernetes Secret nesneleri de değerlerini Base64 olarak saklar.
- Kimlik doğrulama. HTTP Basic kimlik doğrulaması
username:passwordbilgisini Base64 olarak gönderir; JSON Web Token yapısı ise üç Base64URL bölümünden oluşur. - Sertifikalar ve anahtarlar. PEM dosyaları, satır başına 64 karakterde bölünmüş ve Base64 ile kodlanmış DER verileridir.
Programlama dillerinde Base64
| Dil | Kodlama | Kod çözme |
|---|---|---|
| JavaScript (tarayıcı) | btoa(binaryString) | atob(base64) |
| Node.js | Buffer.from(str).toString('base64') | Buffer.from(b64, 'base64').toString() |
| Python | base64.b64encode(data) | base64.b64decode(data) |
| PHP | base64_encode($str) | base64_decode($b64) |
| Java | Base64.getEncoder().encodeToString(bytes) | Base64.getDecoder().decode(b64) |
| C# | Convert.ToBase64String(bytes) | Convert.FromBase64String(b64) |
| Go | base64.StdEncoding.EncodeToString(b) | base64.StdEncoding.DecodeString(s) |
| Kabuk (shell) | base64 file.bin | base64 -d file.txt |
Tarayıcılarda btoa yalnızca U+00FF değerine kadar olan karakterleri kabul eder. Unicode metni kodlamak için önce metni, örneğin TextEncoder ile, UTF-8 baytlarına dönüştürün ya da metni varsayılan olarak UTF-8 ile kodlayan bu aracı kullanın.
Base64'ün ötesinde
Base64.is, Base-N ailesinin geri kalanını da kapsar: Base32, Base58, Base62, Base85, Ascii85, basE91, Base45, onaltılık ve ikili. Bir dizenin hangi kodlamayı kullandığından emin değilseniz kodlama algılayıcıyı deneyin veya Tüm Kodlamalar aracıyla hepsini aynı anda karşılaştırın.
Teknik özellikler
| Alfabe | A-Z a-z 0-9 + / |
|---|---|
| Çıktı boyutu | 3 bayt başına 4 karakter (yaklaşık %133) |
| Dolgu | = ile 4 karakterin katına tamamlanır |
| Standart | RFC 4648, bölüm 4 |
| Büyük/küçük harf duyarlı | Evet |
Örnekler
| Girdi (UTF-8) | Çıktı |
|---|---|
Hello, World! | SGVsbG8sIFdvcmxkIQ== |
Base64.is | QmFzZTY0Lmlz |
你好 | 5L2g5aW9 |
Sıkça sorulan sorular
Verilerim bir sunucuya yükleniyor mu?
Hayır. Kodlama ve kod çözme işlemleri tamamen tarayıcınızda JavaScript ile çalışır. Girdiğiniz metin ve dosyalar cihazınızdan hiçbir zaman çıkmaz; sayfa yüklendikten sonra araç çevrimdışı da çalışmaya devam eder.
Çözülen metin neden bozuk görünüyor?
Sondaki eşittir işaretleri ne anlama geliyor?
Bunlar dolgudur. Base64 dörder karakterlik bloklarla çalışır ve girdi uzunluğu üç baytın katı olmadığında son bloğu = ile tamamlar. Tek = son bloğun iki bayt kodladığını, iki = ise yalnızca bir bayt kodladığını gösterir.
Kodlanan veri ne kadar büyür?
Base64 her 3 baytı 4 karaktere dönüştürür; bu nedenle çıktı girdiden yaklaşık %33 daha büyüktür. Satır kaydırmayı etkinleştirirseniz buna satır sonları da eklenir.
Base64 bir şifreleme yöntemi mi?
Hayır. Base64 yalnızca verinin gösterim biçimini değiştirir. Anahtarı yoktur ve herkes kodunu çözebilir; hassas bilgileri korumak için AES veya TLS gibi gerçek şifreleme yöntemleri kullanın.