Base64

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"
|- 
! Rakam
! Karakter
|rowspan=17 style="width:1px;background-color:#000000;padding:0px;"|
! Rakam
! Karakter
|rowspan=17 style="width:1px;background-color:#000000;padding:0px;"|
! Rakam
! Karakter
|rowspan=17 style="width:1px;background-color:#000000;padding:0px;"|
! Rakam
! 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 orijinal haline göre ortalama 33% oranında büyür.

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

Ayrıca bakınız 
 ASCII

Karakter kodlamaları