Die eingebaute Funktion chr() wandelt einen Unicode-Codepoint in das zugehörige Zeichen. Diese Einleitung zeigt, wie sich chr() in Python sinnvoll einsetzen lässt: von der Erzeugung dynamischer Zeichenketten über einfache Validierungen bis hin zur Arbeit mit Unicode-Bereichen. Dabei geht es um Grenzen, typische Fehlerquellen und praktische Beispiele, damit Textverarbeitung robust und nachvollziehbar bleibt.

Einführung

Die chr() Funktion dient zur Arbeit mit Unicode-Zeichen. Sie bildet das Gegenstück zur ord() Funktion und ist ein Werkzeug für die Zeichenmanipulation, Textverarbeitung und die Arbeit mit verschiedenen Schriftsystemen und Symbolen.

Die Funktion chr() nimmt einen Unicode-Code-Point (eine ganze Zahl) als Argument entgegen und gibt das entsprechende Unicode-Zeichen als String zurück.

Der Unicode-Standard weist jedem Zeichen eine eindeutige Nummer zu, den sogenannten Code Point. Die chr() Funktion führt die Konvertierung zwischen diesen numerischen Repräsentationen und den für Menschen lesbaren Zeichen.

Syntax

Python Syntax
chr(codepoint, /)

Der / in der Signatur bedeutet, dass der Parameter nur als positionelles Argument übergeben werden kann, nicht als Keyword-Argument.

Parameter

Parameter
codepoint

Unicode-Code-Point als ganze Zahl im Wertebereich 0 bis 1.114.111 (dezimal)

Der gültige Bereich entspricht dem vollständigen Unicode-Zeichensatz:

  • 0 bis 0xFFFF (0 - 65.535): Basic Multilingual Plan (BMP) - enthält die meisten modernen Schriften
  • 0x10000 bis 0x10FFFF (65.535 - 1.114.111): Supplementary Planes - enthält historische Schriften, Emoji, seltene Zeichen

Rückgabewert

Die Funktion gibt immer 1 Zeichen (die Länge des Strings ist immer 1, auch wenn es sich um ein mehrbytiges Unicode-Zeichen handelt) zurück. Es ist das Unicode-Zeichen, dass dem übergebenen Code-Point entspricht.

Einfaches Beispiel

Python Beispiel
res = chr(97)
print(res)
Output
a

Fehlerfälle und Ausnahmen

Die chr() Funktion wirft eine ValueError Exception, wenn der übergebene Code-Point außerhalb des gültigen Bereichs liegt.

Python Beispiel - zu niedrig
try:
    char = chr(-1)
except ValueError as e:
    print(f"Fehler: {e}")
Output
Fehler: chr() arg not in range(0x110000)
Python Beispiel - zu hoch
try:
    char = chr(1114112)
except ValueError as e:
    print(f"Fehler: {e}")
Output
Fehler: chr() arg not in range(0x110000)

Python prüft strikt, dass der Code-Point im gültigen Bereich liegt. Werte kleiner als 0 oder größer als 0x10FFFF (1.114.111) sind ungültig und führen zu einem Fehler.

Darstellungsformen

In Python können Code-Points in verschiedenen Zahlensystemen angegeben werden.

Dezimal

Die natürlichste Form für Menschen. Die Zahl 65 entspricht dem Großbuchstaben ‘A’.

Python Beispiel - dezimal
character = chr(65)
print(character)
Output
A

Hexadezimal

Hexadezimale Notation ist in der Unicode-Dokumentation üblich, da sie kompakter ist und die Struktur des Unicode-Standards besser widerspiegelt. Das Präfix 0x kennzeichnet eine hexadezimale Zahl.

Python Beispiel - hexadezimal
character_one = chr(0x41)
print(character_one)

character_two = chr(0x31B1)
print(character_two)
Output
A

Oktal

Oktalzahlen sind seltener in Verwendung. Das Präfix 0o kennzeichnet eine Oktalzahl.

Python Beispiel - oktal
character = chr(0o101)
print(character)
Output
A

Binär

Binäre Darstellung zeigt die direkte Bit-Repräsentation. Das Präfix 0b kennzeichnet eine Binärzahl.

Python Beispiel - binär
character = chr(0b1000001)
print(character)
Output
A

Praktische Beispiele

Im Folgenden schauen wir uns einige praktische Beispiele zu chr() Funktion in Python an.

Alphabet erzeugen

Mit Hilfe von chr() Funktion können wir das Alphabet erzeugen.

Python Beispiel
title_letters = [chr(i) for i in range(65, 91)]
print(title_letters)
Output
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']

Oder alle Buchstaben als String.

Python Beispiel
title_letters = "".join(chr(i) for i in range(65, 91))
print(title_letters)
Output
ABCDEFGHIJKLMNOPQRSTUVWXYZ

Oder wir können uns alle Kleinbuchstaben ausgeben lassen.

Python Beispiel
lower_letters = "".join(chr(i) for i in range(97, 123))
print(lower_letters)
Output
abcdefghijklmnopqrstuvwxyz

Sonderzeichen und Symbole

Viele häufig verwendete Symbole haben feste Code-Points.

  • Euro-Symbol (€): 8364 oder 0x20AC
  • Britisches Pfund (£): 163 oder 0xA3
  • Unendlich Symbol (∞): 8734 oder 0x221E
Python Beispiel
euro = chr(8364)
print(euro)

pfund = chr(163)
print(pfund)

yen = chr(165)
print(yen)

unendlich = chr(8734)
print(unendlich)

pi = chr(960)
print(pi)

summe = chr(8504)
print(summe)

pfeil_links = chr(8592)
print(pfeil_links)

pfeil_rechts = chr(8592)
print(pfeil_rechts)
Output

£
¥

π


/ Weiter

Zurück zu Builtin Functions

Zur Übersicht