9
votes

Codes de caractères de Python Unicode?

Y a-t-il un moyen de "insérer" un caractère unicode dans une corde en python? Par exemple,

>>>import unicode
>>>string = u'This is a full block: %s' % (unicode.charcode(U+2588))
>>>print string
This is a full block: â–ˆ


1 commentaires

Votre exemple utilise un point de code, mais vous dites "caractère". Vous devez savoir que la plupart des gens veulent dire quand ils disent que le caractère peut correspondre à plusieurs points de code .


3 Réponses :


17
votes

Oui, avec échappe de caractère Unicode :

print u'This is a full block: \u2588'


6 commentaires

... ou avec unichr () , si vous souhaitez créer un caractère à partir d'un point de code dynamique (ne semble pas être le cas ici; Je l'ai ajouté pour complétude).


Si vous préférez quelque chose de plus lisible, vous pouvez utiliser u'this est un bloc complet: \ n {bloc complet} '.


Où puis-je trouver une liste de ces noms comme bloc complet ?


@buhtz, EN.Wikipedia.org/wiki/Block_elements répertorie les blocs; en.wikipedia.org/wiki/unicode_symbols -> Decodunicode.org/de/U+2580 . Ht


Est le numéro que vous avez mis après le \ u décimal, hexadécimal, octal ou quoi exactement?


@buhtz: importer UNICODEDATA; Unicodedata.name ('\ u2588') fonctionne aussi



0
votes

Vous pouvez utiliser \ udddd où vous remplacez dddd avec le charcode. xxx

impression Xxx


0 commentaires

0
votes

Vous pouvez utiliser \ u pour échapper à un code de caractère unicode: xxx

qui définit une chaîne contenant le caractère d'espace.


0 commentaires