Case sensitivity

Case sensitivity and case insensitivity (English case = subject, derived from the subjects (type cases ) in which printers kept the various printers' type, ( in ) sensitivity = (un - ) dependence ) indicate in the electronic data processing two fundamentally different methods of treatment of uppercase or lowercase otherwise identical strings with regard to the question of their equality or inequality in dealing with text data. You can see more of insensitivity in principle the case of human comprehension into account, in principle, the case sensitivity, however, rather the automatic data understanding.

In these four strings are four variants of the same word to be recognized. For humans, they differ only by capitalization and lowercase letters, otherwise they are the same. This interpretation is based on a cultural convention, namely the knowledge of the relationship between capital and small letters ( capitals and small letters ).

In computing systems, different characters on the machine level are represented by different numbers. In the character encoding ASCII for example, the large "A" Decimal value 65, the small " a" denotes the decimal value 97 A two numerical values ​​inherent relationship to each other there are mechanical level not because there are no mechanical convention analogous to the aforementioned cultural convention. The two values ​​and thus the two characters are not equal for the machine.

However, it should be mentioned that ASCII - as well as other character encodings - to great characters in order to arrange mechanically most efficient conversion of this small number in the space such that this only a single bit has to be implemented.

The unequal treatment of strings that like humans are considered equal, is therefore the natural or rather the native handling of the machine with text data. Differences in the spelling of a word does the machine even as inequality, if they only affect the writing of the letter. Here we have the equality of strings case sensitivity with respect.

In order to make case insensitivity available on computer systems as a principle of treatment of text data, an abstraction layer over the native data understanding of the machine must be placed through the use of technical means programming that mimics the above-mentioned human comprehension. This abstraction hides differences between large and small letters. From the user's point of view this may be desirable behavior. This means a certain amount of overhead for computing power in the processing of text data, but this is irrelevant in today's available technology for most applications.

A well-known example of the different treatment of text data on the operating systems UNIX and Microsoft Windows prevailing file systems. While the typical UNIX file systems are case sensitive, Windows was delivered over a longer period with file systems that are case insensitive. For example, are the same in the Windows FAT32 file system Name.txt and name.txt different in ext3 under Linux. The NTFS file system in this case has a special position. This is in terms of structure " case sensitive ", but it is not possible to create Windows files that differ only in case-sensitive, as this could restrict compatibility with existing applications.

This different behavior can cause problems with a mixed network, such as when you try to copy two files with the same file name but different case from a UNIX system to a Windows system.

Whether Case sensitivity is present, is in computer science in the designation of general importance. Thus, the symbols of some programming languages ​​(C, Perl) are not case - sensitive, the other other hand ( Pascal, Visual Basic). Still other languages ​​( PHP) mix both principles.

168187
de