Nasıl kullanılır
- Kodlanacak metni yazın veya yapıştırın. Ham baytları kodlamak için girdi biçimini "Onaltılık" olarak değiştirin ya da bir dosyayı kodlamak için "Dosya aç" düğmesine tıklayın.
- Alıcı sistem başka bir karakter kümesi beklemiyorsa "Metin kodlaması" ayarını UTF-8 olarak bırakın.
- Seçenekleri belirleyin: çoğu kullanım için "Standart" varyantı koruyun, alıcı dolgu istemiyorsa "Dolgu" seçeneğini kapatın ve gerektiğinde "Satır kaydırma" ile satırları 76 (MIME) veya 64 (PEM) karakterde bölün.
- Base64 çıktısını kopyalayın veya dosya olarak indirin.
Base64 kodlama nasıl çalışır?
Kodlayıcı girdiyi her seferinde üç bayt olarak okur. Bu 24 bit, 6 bitlik dört gruba ayrılır ve 6 bitlik her değer (0 ile 63 arası) bir karakter seçer: 0-25 için A-Z, 26-51 için a-z, 52-61 için 0-9, ardından + ve /. Üç bayt girer, dört karakter çıkar; Base64 çıktısının orijinal veriden yaklaşık %33 daha büyük olmasının nedeni budur.
Text M a n
Bytes 77 97 110
Bits 01001101 01100001 01101110
6-bit 010011 010110 000101 101110
Index 19 22 5 46
Base64 T W F u
Dolgu ve çıktı uzunluğu
Girdi uzunluğu üçün katı değilse son grup eksik kalır. Artan tek bayt iki karaktere dönüşür ve ardından == gelir; artan iki bayt ise üç karakter ve bir = olur. Bu nedenle n baytlık bir girdi için dolgulu çıktı her zaman 4 × ceil(n / 3) karakter uzunluğundadır.
Dolgu herhangi bir veri taşımaz. JSON Web Token, URL parametreleri ve birçok API dolguyu kullanmaz; bu yüzden alıcı taraf dolgusuz çıktı bekliyorsa dolguyu kapatın. Bağlantılar ve dosya adları için URL güvenli varyantı seçin veya Base64URL sayfasını kullanın; her ikisi de + ve / karakterlerini - ve _ ile değiştirir.
MIME ve PEM için satır kaydırma
Varsayılan olarak çıktı tek ve uzun bir satırdır; JSON, data URI ve HTTP başlıkları için gereken de budur. İki biçim ise satır sonları bekler:
- MIME, 76 karakter.
Content-Transfer-Encoding: base64ile gönderilen e-posta eklerinde satırlar 76 karakterden uzun olamaz (RFC 2045). Bu seçenek, MIME standardının gerektirdiği gibi satırları CRLF ile sonlandırır. - PEM, 64 karakter.
-----BEGINve-----ENDsatırları arasındaki sertifikalar ve anahtarlar 64 karakterlik satırlar kullanır (RFC 7468). Bu seçenek LF satır sonları kullanır.
Karakter kümeleri ve dosyalar
Base64 harfleri değil baytları kodlar; bu nedenle metin önce bir karakter kümesiyle baytlara dönüştürülür. é harfi UTF-8'de iki bayt, ISO-8859-1 veya Windows-1252'de ise tek bayttır; dolayısıyla aynı metin farklı Base64 çıktıları üretir. Web, JSON ve neredeyse tüm modern API'ler için doğru seçim UTF-8'dir; GBK, Shift_JIS, Windows-1251 veya başka bir karakter kümesini yalnızca eski bir sistemle uyum sağlamak için seçin.
Dosyalar, karakter kümesi dönüşümü yapılmadan, saklandıkları hâliyle kodlanır. Hazır HTML ve CSS parçacıkları sunan görsel dönüştürme için Görselden Base64'e aracına bakın; algılanan MIME türüyle bir data URI oluşturmak için Dosyadan Base64'e aracını kullanı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
Base64 çıktım neden başka bir kodlayıcının çıktısından farklı?
echo bir tane ekler; bunun yerine printf '%s' veya echo -n kullanın), farklı bir karakter kümesi, metindeki Windows satır sonları ya da farklı dolgu, alfabe veya satır kaydırma ayarları. Aynı baytlar aynı seçeneklerle her zaman aynı çıktıyı verir.JavaScript'te Unicode metni Base64 ile nasıl kodlarım?
btoa() yalnızca U+00FF değerine kadar olan karakterleri kabul eder ve diğer tüm karakterlerde hata fırlatır. Önce dizeyi UTF-8 baytlarına dönüştürün, örneğin btoa(String.fromCharCode(...new TextEncoder().encode(str))). Node.js ortamında Buffer.from(str, 'utf8').toString('base64') kullanın.Komut satırında Base64 kodlamayı nasıl yaparım?
printf '%s' 'your text' | base64 komutunu çalıştırın. GNU base64 çıktıyı varsayılan olarak 76 karakterde böler (tek satır için -w 0 ekleyin); openssl base64 ise 64 karakterde böler (-A ekleyin).Base64 kodlama bir şifreleme yöntemi mi?
Base64 verileri ne kadar büyütür?
Her 3 bayt, tam bir gruba yuvarlanarak 4 karaktere dönüşür; bu nedenle çıktı yaklaşık %33 daha büyüktür. MIME satır kaydırma her 76 karakter için iki bayt (CRLF) daha ekler.