DERS 36 - BASE64 Encoding

Base64 Encoding binary verileri metne dönüştürerek saklamaya veya iletmeye yarayan tekniklerden en yaygın olarak kullanılanıdır. Bu teknik ile temel olarak 8 bitlik baytlardan oluşan binary veri 6 bitlik (2^6 = 64) parçalara bölünür.

6 bit ile ifade edilen 64 farklı sayı, ASCII karakter kümesinde Printable Character olarak ifade edilen ve aşağıda gösterilen 64 farklı karakterle eşleştirilmiştir. Eldeki 6 bitlik verinin bu tablo ile eşleştirilmesi ile Base64 Encoding yapılmış olur.

Bu iş için base64 modülünü kullanırız.

Bir String'i Base64 Verisine Dönüştürme Örneği

import base64

sample_string = "evieplus Academy Egitim Serileri"
sample_string_bytes = sample_string.encode("ascii")

base64_bytes = base64.b64encode(sample_string_bytes)
base64_string = base64_bytes.decode("ascii")

print(f"BASE64 Verisi: {base64_string}")

Çıktısı:

Encoded string: ZXZpZXBsdXMgQWNhZGVteSBFZ2l0aW0gU2VyaWxlcmk=

burada gördüğünüz gibi ASCII karakter setini seçtiğimiz için ğ kullanamadık bunu çözmek ve unicode değerleri BASE64'e dönüştürmek için

import base64

sample_string = "evieplus Academy Eğitim Serileri"
sample_string_bytes = sample_string.encode("utf-8")

base64_bytes = base64.b64encode(sample_string_bytes)
base64_string = base64_bytes.decode("utf-8")

print(f"BASE64 Verisi: {base64_string}")

Çıktısı:

BASE64 Verisi: ZXZpZXBsdXMgQWNhZGVteSBFxJ9pdGltIFNlcmlsZXJp

Bir Base64 Verisini String'e Dönüştürme Örneği

import base64

base64_string = "ZXZpZXBsdXMgQWNhZGVteSBFZ2l0aW0gU2VyaWxlcmk="
base64_bytes = base64_string.encode("ascii")

sample_string_bytes = base64.b64decode(base64_bytes)
sample_string = sample_string_bytes.decode("ascii")

print(f"Decoded string: {sample_string}")

Çıktısı:

Decoded string: evieplus Academy Egitim Serileri

Unicode değeri olan bir BSE64 verisini string' dönüştürmek için

import base64

base64_string = "ZXZpZXBsdXMgQWNhZGVteSBFxJ9pdGltIFNlcmlsZXJp"
base64_bytes = base64_string.encode("utf-8")

sample_string_bytes = base64.b64decode(base64_bytes)
sample_string = sample_string_bytes.decode("utf-8")

print(f"Decoded string: {sample_string}")

Çıktısı:

Decoded string: evieplus Academy Eğitim Serileri

DERSLER