Bu sayfa üzerinde giriş text alanına girdiğiniz metin (string) Base64 kodlama algoritması kullanarak Base64 koduna dönüştürebilirsiniz. Yapmanız gereken metninizi giriş text alanına girmek ve "Base64 Kodu Oluştur" botonuna tıklamak. Base64 ile kodlanmış metin, tıkladığınız butonun altındaki sonuç text alanı içinde oluşturulacaktır.
Base64 Kodlama Nedir? Base64 Kodlama Ne İşe Yarar?
Base64, ikili verilerin sadece bazı kısıtlı karekter kodlamalarını kullanan ortamlar üzerinde (xml, html, script, anlık mesajlaşma uygulamaları gibi tüm karakter kodların kullanılamadığı ortamlar) taşınmasını sağlayan bir kodlama şemasıdır. Bu şemadaki karakter sayısı 64 adettir ve Base64 kelimesindeki 64 rakamı buradan gelmektedir.
Base64 kodlamada 3 byte'tan oluşan 3*8 bit = 24 bit'lik veri 6 bitlik 4 gruba ayrılır. Bu 6 bitlik 4 adet grubun [0-64] arası decimal değerlerine karşılık gelen karakterler Base64 tablosundan eşleştirilerek kodlama yapılır.
Base64 kodlama sonucu elde edilen karakter sayısı 4'ün katları şeklinde olmalıdır. 4'ün katı olmayan kodlanmış veri geçerli bir Base64 verisi değildir. Base64 algoritması ile kodlama yaparken kodlama tamamlandığında verinin uzunluğu 4'ün katı değil ise 4'ün katı olana kadar "=" (eşittir) karakteri kodlamanın sonuna eklenir.
Örnek verecek olursak kodlama sonucu elimizde 10 karakterlik Base64 kodlanmış veri var ise sonuna iki edet "==" eklenmelidir.
Örnek: "puanhesaplamarobotu" metnini Base64 ile kodlarsak "cHVhbmhlc2FwbGFtYXJvYm90dQ==" kodunu elde ederiz. Gördüğünüz gibi 26 karekter olan kodlamanın sonuna "==" karakterlerini ekleyeren 4'ün katı olan 28'e tamamladık.
Base64 kodlamada geçen 64 rakamı bazı sitelerde söylendiği gibi 64 Bit ile alakası yoktur. Burada 64 rakamı bu kodlamada [0-63] arası ASCII değer alan 64 farklı karakterin kullanılmasından gelmektedir.Yöntem aslında çok basittir. Kaynak stringteki 3 byte grubu alınır 6'şar bitten oluşan 4 gruba bölünür. Eksik bitlerin yerine sol tarafa "00" getirilerek 4 byte'tan oluşan Base64 kodu oluşturulur.
Örnek Base64 Kodlama Tablo
Aşağıda "Htv" stringi için örnek bir Base64 kodlamasını tablo üzerinde açıklayarak gösterdik.
Kodlanacak String | H | t | v | |||||||||||||||||||||
ASCII Değer | 72 | 116 | 118 | |||||||||||||||||||||
Bit Değeri | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |
6 Bit İkili değer (6 Bit Base64) |
010010 | 000111 | 010001 | 110110 | ||||||||||||||||||||
8 Bit ikili değer (Base64 Byte Değeri) |
00010010 | 00000111 | 00010001 | 00110110 | ||||||||||||||||||||
Base64 Onluk değeri
(Base64 Tablo Sıra No/index) |
18 | 7 | 17 | 54 | ||||||||||||||||||||
Base64 Kodu: | S | H | R | 2 |
Yukarıdaki tabloda "Htv" harflerinden oluşan string Base64 koduna dönüştüğünde 18,7,17,54 değerleri elde edilmektedir. Bu 4 değerin aşağıda tabloda verdiğimiz Base64 karşılığı SHR2'dir. Aşağıda tanımlanan Base64 kodlama tablosunu inceleyiniz.
Base64 Kodlama Tablosu
Value | Char | Value | Char | Value | Char | Value | Char | |||
---|---|---|---|---|---|---|---|---|---|---|
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 | / |