Case Sensitivity

Als Case Sensitivity bezeichnet man die Analysefertigkeit von Programmen, zwischen Groß- und Kleinschreibung zu unterscheiden. Dies ist hauptsächlich dann wichtig, wenn zwei Strings miteinander verglichen werden sollen. Da für diese Aufgabe häufig die ASCII-Zeichenkodierung zum Einsatz kommt, ist Case Sensitivity ein natürlicher Bestandteil vieler Programme. Anders als vermutet, muss der Computer also die Unterscheidung „verlernen“. Hierfür ist eine sogenannte Abstraktionsschicht notwendig, die schon vor dem Programmstart die Unterschiede zwischen „A“ und „a“ als nichtig erklärt.

Passwörter und PIN-Codes

Manchmal ist die Abhängigkeit von Groß- und Kleinschreibung von elementarer Bedeutung, beispielsweise bei der Verteilung von Passwörtern und PIN-Codes. Hier wird bewusst auf eine solche Verarbeitung verzichtet, damit der vom User verwendete oder zufällig generierte String eine wesentlich höhere Vielfalt aufweisen kann. Dies gilt auch für ähnliche, häufig in der IT-Sicherheit vorkommende Beispiele wie Verschlüsselung, Hash-Systeme (hash keys) oder Netzwerk-Schlüssel.

Programmiersprachen

Eine Ebene tiefer liegen Compiler und Programmiersprachen selbst. Ob eine Programmierspache case-sensitiv arbeitet oder nicht, hängt von verschiedenen Faktoren ab. Eher einfach gehaltene Sprachen wie BASIC, Pacal oder Visual Basic sind case-insensitiv, während komplexere Programmiersprachen wie C, C# oder Perl komplett case-sensitiv arbeiten. Zwar wird die Syntax durch die Case Sensitivity etwas komplexer, im Gegenzug dazu verringert sich jedoch auch die Wahrscheinlichkeit von Compiler-Fehlern durch Misinterpretation der eingegeben Syntax. Übrigens ist es durchaus möglich, mit nicht case-sensitiven Programmiersprachen case-sensitive Programme zu schreiben. Vorausgesetzt es besteht eine Möglichkeit, Strings auf einer niederen Ebene miteinander zu vergleichen, was selbst bei einfachen Sprachen wie BASIC der Fall ist.

abgelegt unter: C

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.