Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenSonntag, 15. Dezember 2019 

Zeichenkette


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.
Eine Zeichenkette ist eine Folge von Zeichen (Buchstaben Sonderzeichen Leerzeichen sind Zeichen) aus vorab definierten Zeichensatz . Zeichen können sich in einer Zeichenkette die Reihenfolge der Zeichen ist definiert.

Der String ist ein besondere Form Datentyp Array . Oft ist ein String als Array das Character (Zeichen von 0..255) enthalten kann.

Mit Zeichenkette wird in der Programmierung ebenfalls ein Datentyp bezeichnet der Zeichenketten (Texte) variabler Länge kann. Fast jede Programmiersprache besitzt einen derartigen meist wird er mit dem englischen Namen String bezeichnet.

Manche Programmiersprachen arbeiten ausschließlich mit diesem Beispiele sind sed awk und bash .

Inhaltsverzeichnis

Beispiele

AWK:

 BEGIN { getline number getline base number " = " convert(number base) } convert (n b) { nstart = n = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" conv = ")" substr(z (b 1) 1) while (n > 0) { = n % b conv = substr(z + 1) 1) conv n = ((n (n % b)) / b) } conv "(" conv return conv  

Die Programmiersprache C

Eine Zeichenkette in C ist ein Array vom Typ char wobei die Zeichenkette als Endezeichen das NUL enthält. Deswegen heißen solche Zeichenketten auch NUL-terminiert . Da das NUL Zeichen selbst auch einen Speicherplatz benötigt den die Zeichenkette belegt der Speicherbedarf einer Zeichenkette immer mindestens 1 größer als die nutzbare Länge der Zeichenkette. "Länge der Zeichenkette" wird die Anzahl der vor dem Endezeichen bezeichnet. Sie wird von C-Funktion strlen() ermittelt.

Beispiel in C

Ein C-Programm definiert zwei Zeichenketten-Variablen mit Zeichen Länge und weist beiden den gleichen (Inhalt) zu: Um das NUL-Zeichen abzuspeichern muss Arrays mit 5 Zeichen deklarieren.

 int main(int argc char** argv) { text1; char[5] text2;  

 strcpy ( text1 "Test" ); strcpy text2 text1 );  

 return 0; }  

Beispiel in Perl

Zum Vergleich das Gleiche in Perl

 $text = "Test"; $text2 = $text; 

Anmerkungen

Zu den häufigsten Fehlerquellen und damit der häufigsten Angriffsquelle auf Server zählen buffer overflows : Es wird versucht einer Zeichenkettenvariablen einen zuzuweisen dessen Länge die Länge der Variablen Dadurch werden andere benachbarte Variablen im Speicher Bei geschickter Ausnutzung dieses Effekts kann ein einem Server laufendes Programm manipuliert und für auf den Server mißbraucht werden. Zur sicheren sollten Zeichenketten-Operationen nur mit Funktionen durchgeführt werden denen die maximale Länge der Zeichenkette überprüft

In C wären das Funktionen wie strncpy() snprintf()... (anstelle von strcpy() sprints() ...)



Bücher zum Thema Zeichenkette

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/Zeichenkette.html">Zeichenkette </a>