Maison >développement back-end >Tutoriel Python >Comparaison entre les fonctions de caractères chr, unichr et ord en Python

Comparaison entre les fonctions de caractères chr, unichr et ord en Python

高洛峰
高洛峰original
2017-03-02 11:26:092347parcourir

chr, unichr et ord peuvent tous être utilisés pour la conversion de types de caractères en Python. Ici, nous parlerons brièvement de la comparaison entre les fonctions de caractères chr, unichr et ord en Python. Les amis dans le besoin peuvent s'y référer

.
  • ord est l'abréviation de l'ordinal unicode, c'est-à-dire le nombre

  • chr est l'abréviation du caractère, c'est-à-dire le caractère

  • ord et chr sont convertis de manière correspondante

  • Mais comme chr est limité à ascii, la longueur n'est que de 256, il y a donc un unichr supplémentaire. .

>>c = u'康'

>>c
u'\u5eb7'
>>ord(c)
24747
>>chr(24247)
ValueError: chr() arg not in range(256)
>>unichr(24247)
u'\u5eb7'

La fonction chr() prend un entier compris entre (256) (c'est-à-dire 0~255) comme un paramètre et renvoie un caractère correspondant. unichr() est identique, sauf qu'il renvoie des caractères Unicode. La plage de paramètres de unichr(), qui a été ajoutée à partir de Python 2.0, dépend de la façon dont votre Python a été compilé. S'il s'agit d'Unicode configuré comme USC2, sa plage autorisée est la plage (65536) ou 0x0000-0xFFFF ; s'il est configuré comme UCS4, cette valeur doit alors être la plage (1114112) ou 0x000000-0x110000. Si les paramètres fournis ne se trouvent pas dans la plage autorisée, une exception ValueError sera signalée.
La fonction ord() est la fonction appariée de la fonction chr() (pour les chaînes ASCII 8 bits) ou de la fonction unichr() (pour les objets Unicode). Elle prend un caractère (une chaîne de longueur 1) comme élément. un paramètre, renvoie la valeur ASCII correspondante ou la valeur Unicode. Si le caractère Unicode donné dépasse votre plage de définition Python, une exception TypeError sera levée.

>>> chr(65)
'A'
>>> ord('a')
97
>>> unichr(12345)
u'\u3039'
>>> chr(12345)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?  
   chr(12345)
ValueError: chr() arg not in range(256)
>>> ord(u&#39;\ufffff&#39;)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
   ord(u&#39;\ufffff&#39;)
TypeError: ord() expected a character, but string of length 2 found
>>> ord(u&#39;\u2345&#39;)
9029


Plus d'articles liés à la comparaison entre les fonctions de caractères chr, unichr et ord en Python Veuillez payer attention au site PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn