Base64
Base64, herhangi bir veriyi, farklı bir ifadeye dönüştüren metin kodlama yöntemidir. İkili sayı sistemindeki verilerin, ASCII karakterleri kullanan sistemlerde iletilmesini ve saklanmasını sağlar. Her bir ASCII karakterinin base64 algoritmasında karşılığı vardır. 6 bitlik ifadeye dönüştürülen karakterin base64 tablosunda 0’dan 63’e kadar bir karşılığı vardır. Gelin base64 kodlamanın detaylarına bakalım.
Base64 Nedir?
Base64, e-posta ekleri, internet adres bilgisi veya XML aracılığıyla iletilen ve saklanan verileri anlamsız metinlere dönüştüren kodlama dilidir. Haberleşme, verilerin hatasız ve eksiksiz iletilmesi esasına dayanır. İki nokta arasında haberleşme bağlantısı kurulduğunda bir veri kanalı oluşur. Ses, video ve resim gibi dokümanların üst bilgilerinin hızlı ve kolay aktarılabilmesi için base64 kodlama yöntemi geliştirilmiştir.
Base64 Ne İşe Yarar?
Haberleşme sistemleri yaygın olarak ASCII karakterler ile uyumlu olarak geliştirilmiştir. Bu yüzden iletilen verilerde ASCII karakterleri olmaması, veri iletiminde kayıplara neden olur. Base64 sayesinde her türlü veri, ASCII karakterlerine dönüştürmek mümkün olur.
Diğer bir durum ise sistemler arası uyumsuzlukların olmasıdır. Özellikle daha eski dönemde geliştirilen 7-bitlik sistemden gönderilen bir veriyi yeni dönem 8-bitlik sistemin anlayabilmesini sağlar. Bu sayede tüm sistemler ortak bir standart içerisinde haberleşir.
Son olarak bazı karakterler sistemden sisteme aynı algılanmaz. Bir sistemde hiçbir anlam ifade etmeyen bir karakter, diğer sistemde özel bir anlama sahip olabilir. Bu da iletilen verinin yanlış iletilmesine sebep olur. Base64 veriyi, tüm sistemlerin anladığı dile çevirmeyi sağlar.
Base64 Nasıl Çalışır?
Base64, herhangi bir metni ASCII tablosundaki karakterlere dönüştüren bir algoritmada çalışır. Yani iletilecek veriyi öncelikle 8 bitlik olarak ikili tabana çevirir. Ardından birleştirilen 8 bitlik ifadeleri 6 bite dönüştürür. 6 bitleri onluk tabana çevirip ASCII tablosundaki karşılığını yazar. Base64 çalışma mantığını adım adım maddeler halinde şu şekilde gösterebiliriz:
- Veri karakterlerine ayrılır.
- Her bir karakterin ikili kod sistemindeki karşılığı yazılır.
- 8 bitlik ifadeler sırasıyla birleştirilir. Toplamda 6’nın katı olmalıdır. Eğer 6’nın katı değilse 6’nın katını bulasıya kadar 8 bitlik 0 yani “00000000” eklenir.
- Birleştirilen bitler 6 eş parçaya bölünür.
- 6 bitlik ifadeler onluk tabana çevrilir.
- Her bir sonuç için çıkan değerin ASCII tablosundaki karşılığı yazılır.
Base64 kodlaması, ASCII tablosundaki 64 karakter ile gösterim yapar. Bu karakterleri aşağıda görebilirsiniz:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Gelin base64 çalışma yöntemini “Techcareer” kelimesi üzerinden inceleyelim:
1. Adım:
T e c h c a r e e r
2. Adım:
01010100 01100101 01100011 01101000 01100011 01100001 01110010 01100101 01100101 01110010
3. Adım:
010101000110010101100011011010000110001101100001011100100110010101100101011100100000000000000000 (Normalde toplam 80 karakter vardı, 6’nın katı olasıya kadar 8 bitlik “0” değeri eklendi. Toplamda 6’nın katı 96 karakter olunca ekleme durduruldu.)
4. Adım:
010101 000110 010101 100011 011010 000110 001101 100001 011100 100110 010101 100101 011100 100000 000000 000000
5. Adım:
21 6 21 35 26 6 13 33 28 38 21 37 28 32 = =
6. Adım:
VGVjaGNhcmVlcg==
“Techcareer” kelimesinin base64 ile kodlanması sonucu çıkan değer “VGVjaGNhcmVlcg==” şeklindedir. Sondaki iki tane “=” işareti en son eklenen 8 bit uzunluğundaki 0 değerinin karşılığıdır. Base64 kodlamada sondaki “000000” bit değerleri “=” işareti olarak dolgu karakterini temsil eder.
Base64 algoritması; aşamalarının gösterildiği gibi tüm haberleşme sistemlerinde veri iletimi ve saklanması sırasında hızlı ve kolay bir şekilde uygulanmaktadır. Bu sayede veri kayıpları ve hatalar en aza indirilmiş olunur. Ağırlıklı olarak metin iletmek için kullanılan base64, veri boyutunu üçte bir oranında arttırır. Buna rağmen kullanım kolaylığı ve standartlaşmış olması nedeniyle popülerliğini korur."
Ücretsiz eğitimlerimiz seni bekliyor.
Her biri alanında uzman eğitmenler tarafından hazırlanmış eğitimlerimizden sana uygun olanı keşfedip, hemen eğitime başlayabilirsin. Süre kısıtlaması olmayan eğitimlerimizi, hiç bir ücret ödemeden hemen keşfetmeye başla.