2010-11-24 27 views
0

Disons que j'ai les deux variables suivantes:Python Unicode Annuler Question

bob1 = u'bob\xf0\xa4\xad\xa2' 

et

bob2 = 'bob\xf0\xa4\xad\xa2' 

Comment puis-je obtenir la valeur de bob1 être la valeur de bob2. AKA, comment dérouler la mise en forme unicode mais conserver la valeur hexadécimale?

Si je fais ceci:

bob1.encode('utf8') 
'bob\xc3\xb0\xc2\xa4\xc2\xad\xc2\xa2' 

Ce qui ne va pas ...

Aide!

+2

Si c'est votre code qui produit les trucs 'bob1', le meilleur conseil est" Ne fais pas ça ". C'est un bug. –

Répondre

5

Les points de code entre U + 0000 et U + 00FF correspondent à la même valeur d'octet dans les codages ISO 8859-1 ou Latin 1.

>>> u'bob\xf0\xa4\xad\xa2'.encode('latin-1') 
'bob\xf0\xa4\xad\xa2' 
+1

+1 nitpick mineur: 'ISO-8859-1' et' latin-1' sont le même codage; ce dernier est un alias –