2010-01-08 5 views

Répondre

1

exemple de Ignacio est correct, mais dépend de votre console étant capable d'afficher des caractères Unicode, qui sous Windows, il ne peut généralement pas. Voici la même chose avec seulement des sauts de chaîne sûrs (reprs):

>>> '\xe3\x81\x82'.decode('utf-8') # three top-bit-set bytes, representing one character 
u'\u3042'        # Hiragana letter A 

>>> u'\u3042'.encode('shift-jis') 
'\x82\xa0'       # only requires two bytes in the Shift-JIS encoding 

>>> unicode('\x82\xa0', 'shift-jis') # alternative way of doing a decode 
u'\u3042' 

lorsque vous écrivez à par exemple. un fichier ou via un serveur web, ou vous êtes sur un autre système d'exploitation où la console supporte UTF-8, c'est un peu plus facile.

0
print 'あ'.decode('utf-8') 
print repr(u'あ'.encode('shift-jis')) 
+0

Fichier "D: \ zjm_code \ a.py", ligne 4 SyntaxError: Caractère non-ASCII '\ xe3' dans le fichier D: \ zjm_code \ a.py sur la ligne 4, mais aucun codage déclaré; voir http://www.python.org/peps/pep-0263.html pour plus de détails – zjm1126

+1

Lisez cette URL et corrigez votre source. –

+0

@ zjm1126: insérer comme première ligne: '# codage: utf-8' –

0
>>> unicode.encode(u"abcd","utf8") 
'abcd' #unicode string u"abcd" got encoded to UTF-8 encoded string "abcd" 

>>> str.decode("abcd","utf8") 
u'abcd' #UTF-8 string "abcd" got decoded to python's unicode object u"abcd" 
>>> 
+0

Il n'y a aucune raison de les appeler sur la classe quand ils peuvent tout aussi bien (sinon plus) être appelés sur un exemple. –

+0

Oui, c'est vrai, je veux juste montrer l'exemple d'OP tel quel. – YOU

Questions connexes