Membuat Base64 String di Python

Ridwan Fajar 21 Januari 2017

Membuat Base64 String di Python

Base64 adalah sebuah string yang merupakan konversi dari karakter non ASCII menjadi ASCII. Misal kamu dapat mengirim teks bahasa jepang menjadi alfabet dengan menggunakan Base64. Biasanya hal ini digunakan untuk mengirim data melalui protokol tertentu misalnya SMTP.

Selain itu kamu juga dapat mengubah suatu gambar menjadi Base64 jika suatu RESTful API atau web service lainnya tidak dapat menerima form multipart dan hanya menerima input berupa JSON atau formdata. Hal tersebut dapat ditangani dengan memanfaatkan Base64.

Berikut adalah contoh penggunaan Base64 untuk melakukan encoding terhadap string ASCII dan non-ASCII:

In [1]: import base64

In [2]: base64.b64encode("codepolitan is here!")
Out[2]: 'Y29kZXBvbGl0YW4gaXMgaGVyZSE='

In [3]: base64.b64decode("Y29kZXBvbGl0YW4gaXMgaGVyZSE=")
Out[3]: 'codepolitan is here!'

In [4]: nonalfabet = base64.b64encode("私は食べたいです.. أريد أن أكل .. मैं खाने
    ...: के लिए चाहिए")

In [5]: nonalfabet
Out[5]: '56eB44Gv6aOf44G544Gf44GE44Gn44GZLi4g2KPYsdmK2K8g2KPZhiDYo9mD2YQgLi4g4KSu4KWI4KSCIOCkluCkvuCkqOClhyDgpJXgpYcg4KSy4KS/4KSPIOCkmuCkvuCkueCkv+Ckjw=='

In [6]: print base64.b64decode('56eB44Gv6aOf44G544Gf44GE44Gn44GZLi4g2KPYsdmK2K8
    ...: g2KPZhiDYo9mD2YQgLi4g4KSu4KWI4KSCIOCkluCkvuCkqOClhyDgpJXgpYcg4KSy4KS/4K
    ...: SPIOCkmuCkvuCkueCkv+Ckjw==')
私は食べたいです.. أريد أن أكل .. मैं खाने के लिए चाहिए

Sedangkan berikut adalah contoh penggunaan Base64 untuk melakukan encoding terhadap suatu file:

import base64 
f = open('python-small.jpg', 'rb')
img = f.read()
b64 = base64.b64encode(img)
print b64

img = base64.b64decode(b64)
print img

(rfs/pymotw/python)