Heim >Backend-Entwicklung >Python-Tutorial >Vergleich zwischen den Zeichenfunktionen chr, unichr und ord in Python
chr, unichr und ord können alle für die Zeichentypkonvertierung in Python verwendet werden. Hier werden wir kurz auf den Vergleich zwischen den Zeichenfunktionen chr, unichr und ord in Python eingehen.
ord ist die Abkürzung für Unicode-Ordinalzahl, also die Zahl
chr ist die Abkürzung für Zeichen, also das Zeichen
ord und chr werden entsprechend zueinander konvertiert
Da chr aber auf ASCII beschränkt ist, beträgt die Länge nur 256, es gibt also ein zusätzliches unichr .
>>c = u'康' >>c u'\u5eb7' >>ord(c) 24747 >>chr(24247) ValueError: chr() arg not in range(256) >>unichr(24247) u'\u5eb7'
Die Funktion chr() akzeptiert eine Ganzzahl im Bereich (256) (d. h. 0~255) als einen Parameter und gibt ein entsprechendes Zeichen zurück. unichr() ist dasselbe, außer dass es Unicode-Zeichen zurückgibt. Der Parameterbereich von unichr(), der ab Python 2.0 hinzugefügt wurde, hängt davon ab, wie Ihr Python kompiliert wurde. Wenn es sich um Unicode handelt, das als USC2 konfiguriert ist, ist der zulässige Bereich Bereich (65536) oder 0x0000-0xFFFF. Wenn es als UCS4 konfiguriert ist, sollte dieser Wert Bereich (1114112) oder 0x000000-0x110000 sein. Wenn die bereitgestellten Parameter nicht im zulässigen Bereich liegen, wird eine ValueError-Ausnahme gemeldet.
Die Funktion ord() ist die gepaarte Funktion der Funktion chr() (für 8-Bit-ASCII-Strings) oder der Funktion unichr() (für Unicode-Objekte). Sie benötigt ein Zeichen (einen String der Länge 1). ein Parameter. Gibt den entsprechenden ASCII-Wert oder Unicode-Wert zurück. Wenn das angegebene Unicode-Zeichen Ihren Python-Definitionsbereich überschreitet, wird eine TypeError-Ausnahme ausgelöst.
>>> 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'\ufffff') Traceback (most recent call last): File "<stdin>", line 1, in ? ord(u'\ufffff') TypeError: ord() expected a character, but string of length 2 found >>> ord(u'\u2345') 9029
Weitere Artikel zum Vergleich zwischen chr-, unichr- und ord-Zeichenfunktionen in Python. Bitte zahlen Sie Achtung PHP chinesische Website!