- Char (Datentyp)
-
Char oder Character ([kæɹ, kʌɹ], von englisch character, „Zeichen“) ist ein Datentyp (in vielen Programmiersprachen) für Datenbereiche/Felder, deren Elemente jeweils ein Zeichen repräsentieren.
Inhaltsverzeichnis
Datentyp
char als Datentyp legt fest, dass die einzelnen Zeichen eines Speicherbereichs aus je (i. d. R.) 8 Bits bestehen, die je ein darstellbares Zeichen (Buchstabe, Ziffer, Sonderzeichen ...) repräsentieren. Welches Zeichen dies ist, ergibt sich aus dem Inhalt der Speicherstelle; für jede Hex-Kombination (mit möglichem Wertebereich von 00hex bis FFhex) gilt gemäß der verwendeten Zeichencodierung ein bestimmtes Zeichen als vereinbart; z. B. 48hex='H', 31hex='0'. Vorzeichen (positiv/negativ) treten – im Gegensatz zu numerischen Formaten – bei char-Zeichen nicht auf.
Der Datentyp eignet sich grundsätzlich nur zur Zeichendarstellung, nicht zu Berechnungen und nicht für die Indizierung/Adressierung. Hierfür werden numerische Datentypen verwendet, je nach Programmiersprache z. B. short, long, integer etc.
Zeichenkodierung
Hauptartikel: Zeichenkodierung
Die meisten Programmiersprachen stellen ein Zeichen in einem Byte (8Bit) dar, wobei als Zeichensatz ASCII und dessen Ableitungen wie ISO 8859-1 sowie EBCDIC die verbreitetsten Kodierungen sind. Neuere Programmiersprachen wie C# oder Java verwenden zwei Byte pro Zeichen (UNICODE) und kodieren Zeichen in UTF-16. Die etablierten Sprachen wie C und C++ wurden um den mehrbytigen Datentyp wchar_t erweitert.[1]
Literale, Konstanten, Variable
Zeichen können in Form von Literalen direkt im Quelltext verwendet werden. In vielen Programmiersprachen werden sie dazu in einfache Anführungszeichen eingeschlossen, z. B. 'a'. Alternativ können Zeichen in der Definition von Feldern als Konstante angelegt oder einer Variablen durch einen entsprechenden Befehl (direkt oder als Teil einer übergeordneten Datenstruktur) zugewiesen werden; FeldA = FeldB, BereichX (inkl. FeldA) = Eingabe.
Um Sonderzeichen darzustellen, können sogenannte Escape-Sequenzen verwendet werden. Sehr häufig dient dabei der umgekehrte Schrägstrich als Escape-Zeichen, so wird beispielsweise ein Tabulatorzeichen als '\t' dargestellt.
Operationen
Zeichen sind abhängig von der gewählten Kodierung geordnet. Daher bieten die meisten Programmiersprachen entsprechende Vergleichsoperatoren wie ist gleich (z. B. „=“, „==“ oder „IS EQUAL“), ist ungleich (z. B. „!=“, „<>“, „IS NOT EQUAL“), ist kleiner als (z. B. „<“ oder „IS LESS THAN“), ist größer als (z. B. „>“ oder „IS GREATER THAN“).
Ebenso gibt es üblicherweise Operatoren zum Erhöhen (z. B. „++“, „SUCC“) und Vermindern (z B. „--“ oder „PRED“), also ermitteln des Nachfolgers oder Vorgängers eines Zeichens.
Da jedes Zeichen, abhängig von seiner Kodierung durch einen bestimmten Wert repräsentiert wird, bieten viele Programmiersprachen auch die Möglichkeit, Zeichen in Zahlen umzuwandeln und umgekehrt. Dies kann entweder impliziert passieren, z. B. indem einer numerischen Variablen ein Zeichen zugewiesen wird, oder explizit durch Verwendung einer Funktion, die z. B. kurz „ord“ oder „char“ heißen kann.
Siehe auch
Eine Zeichenkette ist die Aneinanderreihung mehrerer Speicherbereiche.
Quellen
Wikimedia Foundation.