""" This program converts SVG files to raw Unicode strings and back again It was written for a twitter image encoding competition on Stack Overflow http://stackoverflow.com/questions/891643/twitter-image-encoding-challenge Copyright: SpliFF License: Public Domain """ import re HEADER = """ """ FOOTER = """""" PATH = """""" RE_WIDTH_HEIGHT = re.compile(r' POINT_MAX: # commands points.append(unichr(ord(point) - POINT_MAX)) else: # points points.append('%d.00'%ord(point)) output.append(PATH % (color, ' '.join(points))) output.append(FOOTER) return u'\n'.join(output) if __name__ == '__main__': #encode to unicode data_file = file(r"so-logo.svg") svg_data = data_file.read() encoded_data = encode(svg_data) print repr(encoded_data) #decode to svg new_svg_data = decode(encoded_data) print new_svg_data