|
11.1.2 Zeichenbehandlung
Für die Zeichenbehandlung sind neben der Typvereinbarung von CHARACTER und
WIDE_CHARACTER im Paket "Standard" folgende Pakete spezifiziert:
Das Paket Ada.Characters dient als übergeordnetes Paket für die vordefinierten
Pakete Ada.Characters.Handling und
Ada.Characters.Latin_1.
Folgende Funktionen sind in Ada.Characters.Handling spezifiziert:
1) Klassifizierungsfunktionen
Alle Klassifizierungsfunktionen erwarten als Eingabeparameter ein Zeichen des
Typs Character und haben einen booleschen Rückgabewert.
function Is_Control (Item : in Character) return Boolean; |
Liefert "Wahr", wenn es sich bei "Item" um ein Steuerzeichen handelt.
Steuerzeichen sind
die Zeichen an den Positionen 0 bis 31 und 127 bis 159 des Latin-1-Zeichensatzes
(siehe Deklaration von Characters.Latin_1).
function Is_Graphic (Item : in Character) return Boolean; |
Liefert Wahr", wenn es sich bei "Item" um ein graphisches Zeichen handelt.
Graphische
Zeichen sind alle Zeichen außer den Steuerzeichen, also auch die Buchstaben
und Sonderzeichen.
function Is_Letter (Item : in Character) return Boolean; |
Liefert "Wahr", wenn es sich bei "Item" um einen Buchstaben handelt.
Hierzu zählen 'A'..'Z', 'a'..'z' sowie die Sonderzeichen an den Positionen
192 bis 214, 216 bis 246 und
248 bis 255.
function Is_Lower (Item : in Character) return Boolean; |
Liefert "Wahr", wenn es sich bei "Item" um einen kleinen Buchstaben
handelt. Hierzu zählen 'a'..'z' sowie die Sonderzeichen an den Positionen
223 bis 246 und 248 bis 255.
function Is_Upper (Item : in Character) return Boolean; |
Liefert "Wahr", wenn es sich bei "Item" um einen großen Buchstaben
handelt. Hierzu zählen 'A'..'Z' sowie die Sonderzeichen an den Positionen
192 bis 214 und 216 bis 222.
function Is_Basic (Item : in Character) return Boolean; |
Liefert "Wahr", wenn "Item" ein Elementarzeichen ist, also kein anderer
Buchstabe mit
Zusätzen wie Punkten, Strichen, Kreisen oder Tilden. Zu Elementarzeichen
zählen 'A'..'Z', 'a'..'z', und die Sonderzeichen 'Æ', 'æ', 'Ð',
'ð', 'Þ',
'þ' und 'ß'.
function Is_Digit (Item : in Character) return Boolean; |
Liefert "Wahr", wenn "Item" eine Dezimalziffer ist. Hierzu zählen
die Zeichen 0..9.
function Is_Decimal_Digit (Item : in Character) return Boolean; |
Is_Decimal_Digit
ist nur ein anderer Name für die Funktion Is_Digit.
function Is_Hexadecimal_Digit (Item : in Character) return Boolean; |
Liefert "Wahr", wenn "Item" eine hexadezimale Ziffer ist. Hierzu zählen
die Dezimalziffern und die Buchstaben 'A'..'F' und 'a'..'f'.
function Is_Alphanumeric (Item : in Character) return Boolean; |
Liefert "Wahr", wenn es sich bei "Item" um eine Dezimalziffer oder um
einen Buchstaben
handelt, also bei allen Zeichen, die entweder bei Is_Letter oder bei Is_Digit
"Wahr" liefern würden.
function Is_Special (Item : in Character) return Boolean; |
Liefert "Wahr", wenn es sich bei "Item" um ein graphisches Zeichen
handelt,
das kein alphanumerisches Zeichen ist.
2) Konvertierungsfunktionen
Die Konvertierungsfunktionen existieren sowohl zur Konvertierung von Zeichen nach
Zeichen als auch zur Konvertierung von Zeichenketten nach Zeichenketten. Für
die Konvertierung der Zeichenketten wird auf jedes Zeichen der Zeichenkette die
Funktion zur Konvertierung eines Zeichens angewendet.
function To_Lower (Item : in Character) return Character; |
Liefert den zugehörigen kleinen Buchstaben, wenn es sich um einen großen
Buchstaben handelt, ansonsten wird der Eingabewert zurückgegeben.
function To_Lower (Item : in String) return String; |
Liefert eine Zeichenkette, in der alle großen Buchstaben durch die zugehörigen
kleinen Buchstaben ersetzt wurden.
function To_Upper (Item : in Character) return Character; |
Liefert den zugehörigen großen Buchstaben, wenn es sich um einen kleinen
Buchstaben
handelt, ansonsten wird der Eingabewert zurückgegeben. Die Zeichen 'ß'
und 'ÿ' haben keinen zugehörigen großen Buchstaben.
function To_Upper (Item : in String) return String; |
Liefert eine Zeichenkette, in der alle kleinen Buchstaben durch die zugehörigen
großen Buchstaben ersetzt wurden.
function To_Basic (Item : in Character) return Character; |
Liefert das zugehörige Elementarzeichen, wenn es sich um einen Buchstaben
handelt, der noch kein Elementarzeichen ist, ansonsten wird der Eingabewert zurückgegeben.
function To_Basic (Item : in String) return String; |
Liefert eine Zeichenkette, in der alle Buchstaben, die keine Elementarzeichen
waren, durch entsprechende Elementarzeichen ersetzt wurden.
Beispiel:
Text_IO.Put_Line (
To_Basic ("Ich höre im Radio ""Déjà vu"".")); |
liefert als Ausgabe:
Ich hore im Radio "Deja vu".
3) ISO-646-Funktionen
Die ISO-646-Funktionen existieren sowohl für Zeichen als auch für Zeichenketten,
wobei für
Zeichenketten die gleichnamige Zeichenfunktion für jedes Zeichen aufgerufen
wird. ISO 646 ist ein 7-bit-Zeichensatz, der zum Datenaustausch verwendet wird.
function Is_ISO_646 (Item : in Character) return Boolean; |
Liefert "Wahr", wenn "Item" innerhalb des ISO-646-Untertyps liegt,
also
innerhalb der ersten 128 Zeichen.
function Is_ISO_646 (Item : in String) return Boolean; |
Liefert "Wahr", wenn die Funktion Is_ISO_646 für jedes der Zeichen
in
der Zeichenkette "Wahr" liefert.
function To_ISO_646 (Item : in Character; Substitute : in ISO_646 := ' ') return ISO_646; |
Liefert den Eingabewert, wenn "Item" innerhalb des ISO-646-Untertyps liegt,
ansonsten das Zeichen aus dem Parameter "Substitute".
Function To_ISO_646 (Item : in String; Substitute : in ISO_646 := ' ') return ISO_646; |
Liefert eine Zeichenkette, in der jedes Zeichen aus der eingegebenen Zeichenkette
mit der Funktion To_ISO_646 konvertiert wurde.
Beispiel:
Text_IO.Put_Line (To_ISO_646 ("Ich höre
im Radio ""Déjà vu"".",'#')); |
liefert als Ausgabe:
Ich h#re im Radio "D#j# vu".
4) Wide_Character-Funktionen
Die Wide_Character-Funktionen dienen zum Test, ob Wide_Character-Werte im Typ
Character enthalten sind oder konvertieren zwischen Character und Wide_Character.
function Is_Character (Item : in Wide_Character) return Boolean; |
Liefert "Wahr", wenn "Item" innerhalb der Definition von Character,
also innerhalb der ersten
256 Zeichen, liegt.
function Is_String (Item : in Wide_String) return Boolean; |
Liefert "Wahr", wenn Is_Character für jedes der Zeichen des Wide_Strings
"Wahr" ergibt.
function To_Character (Item : in Wide_Character; Substitute : in Character := ' ') return Character; |
Liefert den Eingabewert, wenn "Item" ein Character ist, ansonsten das Zeichen
aus dem
Parameter "Substitute".
function To_String (Item : in Wide_String; Substitute : in Character := ' ')return String; |
Führt die Funktion To_Character für jedes Zeichen des Wide_Strings aus
und liefert diese
als Zeichenkette zurück.
function To_Wide_Character (Item : in Character) return Wide_Character; |
Liefert das Zeichen des Typs Wide_Character zurück, das die gleiche Indexposition
hat, wie
der Eingabewert vom Typ Character.
function To_Wide_String (Item : in String) return Wide_String; |
Führt die Funktion To_Wide_Character für jedes Zeichen der Zeichenkette
aus und liefert
diese als Wide_String zurück.
Das Paket Ada.Characters.Latin_1 deklariert Konstanten für die Zeichen des
ISO 8859-1 Zeichensatzes.
Spezifikation
des Paketes "Ada.Characters"
Spezifikation
des Paketes "Ada.Characters.Handling"
Spezifikation
des Paketes "Ada.Characters.Latin_1"
|