Comment puis-je imprimer une chaîne sous forme de séquence de codes Unicode en Python? Entrée: "если"
(en russe).Chaîne d'impression sous forme de codes Unicode
Sortie: "\u0435\u0441\u043b\u0438"
Comment puis-je imprimer une chaîne sous forme de séquence de codes Unicode en Python? Entrée: "если"
(en russe).Chaîne d'impression sous forme de codes Unicode
Sortie: "\u0435\u0441\u043b\u0438"
Cela devrait fonctionner:
>>> s = u'если'
>>> print repr(s)
u'\u0435\u0441\u043b\u0438'
code:
txt = u"если"
print repr(txt)
Sortie:
u'\u0435\u0441\u043b\u0438'
a = u"\u0435\u0441\u043b\u0438"
print "".join("\u{0:04x}".format(ord(c)) for c in a)
Si vous avez besoin d'un codage spécifique, vous pouvez utiliser:
txt = u'если'
print txt.encode('utf8')
print txt.encode('utf16')
Un peu exagéré, bien;) –
Bien sûr, mais il donne aussi unicode pour les caractères ascii-qui peut être souhaitable. Mais vous devriez avoir un '' .join() autour de cette compréhension de la liste. ;) –
@Lennart: Oui, merci pour cela. Extraire la chaîne de la valeur de retour de repr est un peu fastidieux (et va changer dans Python 3, parce que le préfixe u est parti). –