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

高洛峰
Libérer: 2017-03-02 11:26:09
original
2200 Les gens l'ont consulté

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'
Copier après la connexion

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
Copier après la connexion


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 !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal