Base64

Kısaca: Base64 ikili verilerin (İngilizce: binary data) sadece ASCII karakterlerini kullanan ortamlarda iletilmesine ve saklanmasına olanak tanıyan bir kodlama şemasıdır. ...devamı ☟

Base64 ikili verilerin (İngilizce: ``binary data``) sadece ASCII karakterlerini kullanan ortamlarda iletilmesine ve saklanmasına olanak tanıyan bir kodlama şemasıdır.

Çalışma Şekli

Kodlama sırasında 3 baytlık veriler 6 bitlik dörtlü gruplara dağıtılırlar. Her bir 6 bitlik grup 0 ile 63 arasında bir sayı oluşturur (26=64). Aşağıdaki eşleşmeye göre her sayı bir ASCII yazdırma karakterine dönüştürülür:

{| class="wikitable"
|- } ! Sayı ! Karakter |rowspan=17 style="width:1px;background-color:#000000;padding:0px;"| ! Sayı ! Karakter |rowspan=17 style="width:1px;background-color:#000000;padding:0px;"| ! Sayı ! Karakter |rowspan=17 style="width:1px;background-color:#000000;padding:0px;"| ! Sayı ! Karakter |- | 0 || A || 16 || Q || 32 || g || 48 || w |- | 1 || B || 17 || R || 33 || h || 49 || x |- | 2 || C || 18 || S || 34 || i || 50 || y |- | 3 || D || 19 || T || 35 || j || 51 || z |- | 4 || E || 20 || U || 36 || k || 52 || 0 |- | 5 || F || 21 || V || 37 || l || 53 || 1 |- | 6 || G || 22 || W || 38 || m || 54 || 2 |- | 7 || H || 23 || X || 39 || n || 55 || 3 |- | 8 || I || 24 || Y || 40 || o || 56 || 4 |- | 9 || J || 25 || Z || 41 || p || 57 || 5 |- |10 || K || 26 || a || 42 || q || 58 || 6 |- |11 || L || 27 || b || 43 || r || 59 || 7 |- |12 || M || 28 || c || 44 || s || 60 || 8 |- |13 || N || 29 || d || 45 || t || 61 || 9 |- |14 || O || 30 || e || 46 || u || 62 || + |- |15 || P || 31 || f || 47 || v || 63 || / |}

Bir base64 kodlamasının uzunluğu daimi olarak 4` ün katları şeklindedir, uzunluğu 4` ün katı olmayan hiç bir metin geçerli bir base64 metin değildir. base64 kodlaması bitmiş bir verinin uzunluğu 4`ün katı değilse, gerektiği kadar `=` karakteri çıktının sonuna eklenir, örneğin uzunluğu 10 olan bir çıktının sonuna `==` eklenmelidir.

Daha ayrıntılı bilgi için: RFC 1421 ve RFC 2045.

Kullanımı

Base64 kodlaması en sık MIME (``Multipurpose Internet Mail Extensions``) standardı uygulamalarında yani elektronik postaya ikili dosya (İngilizce: ``binary file``) eklenmesi işleminde kullanılır. Kodlanmış dosya orjinal haline göre ortalama 33% oranında büyür.

Örnek

Orjinal: Vikipedi
Base64: VmlraXBlZGk=
Örnekteki her bir karakter bir bayt büyüklüğündedir.

Ayrıca Gözat



Linkler

  • RFC 1421
  • RFC 2045
  • RFC 3548


Kaynaklar

Vikipedi

Bu konuda henüz görüş yok.
Görüş/mesaj gerekli.
Markdown kullanılabilir.