Python's handling of shell strings
I still do not understand completely how python's unicode and str types work. Note: I am working in Python 2, as far as I know Python 3 has a completely different approach to the same issue. What I know : str is an older beast that saves strings encoded by one of the way too many encodings that history has forced us to work with. unicode is an more standardised way of representing strings using a huge table of all possible characters, emojis, little pictures of dog poop and so on. The decode function transforms strings to unicode, encode does the other way around. If I, in python's shell,