2010-03-24 4 views
2

que je dois faire en Python 2.4 (oui, 2,4 :-().octets UTF-8 à un autre encodage en Python

J'ai un objet chaîne simple, ce qui représente un texte codé avec UTF -8 Il provient d'une bibliothèque externe qui ne peut pas être modifiée

Donc, ce que je pense devoir faire, est de créer un objet Unicode en utilisant des octets de cet objet source, puis le convertir en autre encodage (iso-8859-2, en fait)

L'objet chaîne simple est 'x' "unicode()" semble ne pas fonctionner..

>>> x 
'Sk\xc5\x82odowski' 
>>> str(unicode(x, encoding='iso-8859-2')) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in ? 
UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-3: ordinal not in range(128) 
>>> unicode(x, encoding='iso-8859-2') 
u'Sk\u0139\x82odowski' 

Répondre

9
>>> x.decode('utf8').encode('iso-8859-2') 
'Sk\xb3odowski' 
Questions connexes