IMO, you should use Unicode wherever you have text. You never know if Jürgen, Søren or Joël will present them to Üuvre in the context of your application.
When you have data that needs to be transferred to another process or file, you should have it as a regular string (Py2), respectively. bytes() object (Py3). To identify the interface between these areas, you have to be a little careful.
source share