# base64 encoding converts binary data to plain text
# it stores each group of three binary bytes as a group of four characters from the text set:
# ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789+/
# the = character is used for padding at the end of the data stream
# this way an image file can be represented as a string to transmit or
# a short image can be embedded in code as a string, you can insert newlines at
# convenient locations into this embedded string, they will be ignored when
# decoding with for instance jpg1 = base64.b64decode(jpg1_b64)
# tested with Python24 vegaseat 06oct2005
import base64
# pick a jpeg file you have and want ...
jpgfile = "halloween3.jpg"
# note: binary read "rb" is required!
# this gives a one line string ...
#jpg_text = 'jpg1_b64 = \\\n"""' + base64.b64encode(open(jpgfile,"rb").read()) + '"""'
# another option, inserts newlines about every 76 characters, easier to copy and paste!
jpg_text = 'jpg1_b64 = \\\n"""' + base64.encodestring(open(jpgfile,"rb").read()) + '"""'
print jpg_text
# optionally save to a text file
filename = "jpg1_b64.txt"
try:
fout = open(filename, "w")
fout.write(jpg_text)
fout.close()
except IOError:
print "File %s could not be saved!" % filename