Quelle est la bonne façon d'utiliser str.decode
et unicode.encode
?Quelle est la bonne façon d'utiliser str.decode et unicode.encode?
Par exemple.
print str.decode
print unicode.encode
Quelle est la bonne façon d'utiliser str.decode
et unicode.encode
?Quelle est la bonne façon d'utiliser str.decode et unicode.encode?
Par exemple.
print str.decode
print unicode.encode
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.
print 'あ'.decode('utf-8')
print repr(u'あ'.encode('shift-jis'))
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
Lisez cette URL et corrigez votre source. –
@ zjm1126: insérer comme première ligne: '# codage: utf-8' –
>>> 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"
>>>
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. –
Oui, c'est vrai, je veux juste montrer l'exemple d'OP tel quel. – YOU
-1: Doit avoir été posté sur "gladomyhomeworkforme.com" –
Qui peut vous donner du code? Voulez-vous le code ou les noms des personnes qui vont l'écrire? – MAK