Πρόβλημα κι αυτό με τα encodings στην python2! Δύο μέρες μου πήρε να πετύχω αυτό που θέλω...

Θέλοντας να χρησιμοποιήσω ένα QString από το πρόγραμμα έπρεπε:
1)Να κάνω import τα unicode_literals:
- Κώδικας: Επιλογή όλων
from __future__ import unicode_literals
2)Να μετατρέπω το κείμενο σε unicode για να το επεξεργαστώ (πχ. να προσθέσω κι άλλο κείμενο στην συμβολοσειρά):
- Κώδικας: Επιλογή όλων
text = QString('ένα string')
text = unicode(text)
3)Αφού τελειώσω την επεξεργασία θέλοντας να το χρησιμοποιήσω μέσα σε μία subprocess.call() έπρεπε να γίνει str γιατί η συνάρτηση όπως και η os.system() δεν διαβάζει unicode. Όμως από unicode δεν μετατρέπεται κατευθείαν σε str. Οπότε από unicode πίσω πάλι σε QString...
- Κώδικας: Επιλογή όλων
text = QString(text)
4)...μετά σε QByteArray...
- Κώδικας: Επιλογή όλων
text = text.toUtf8()
5)...και τέλος σε str με utf-8 encoding.
- Κώδικας: Επιλογή όλων
text = str(text)
Δεν γίνετε να παραλείψω κανένα απ' τα παραπάνω στάδια καθώς δεν μπορώ να επεξεργαστώ συμβολοσειρά σε str, αλλά μόνο σε unicode ενώ αντίθετα δεν μπορώ να χρησιμοποιήσω unicode μέσα σε συναρτήσεις όπως η call(). Ουφ!
Πάλι καλά που στην python3 έχουν διορθωθεί όλα αυτά!
