Case sensitivity

from Wikipedia, the free encyclopedia

The English term case-sensitivity in electronic data processing generally describes the way in which a calculating machine or formal language (especially programming languages ) handles the distinction between upper and lower case . The word is derived from " case " for "professional" from, derived from the compartments ( english type cases ) in which printer the various printing type stored, and " (in) sensitivity " for " (in) dependence".

In concrete terms, case-sensitive (in German, if given by context, sensitive ) means that uppercase and lowercase letters are viewed as different. The opposite is case-insensitive ( not sensitive in the context ).

If data is to be processed in a non-sensitive manner, this means a higher programming and computing effort, since, for example, the letters aand Ashould mean the same symbol for the machine. This is commonly known as normalization . Since the ASCII value for the Auppercase letter, with the binary value , differs 01000001from athe lowercase letter, with the binary value 01100001, additional queries, conversions or unifications are necessary for normalization.

To illustrate, the strings are name, Name, NAMEand naMe. There are four variants of the same word in these four strings. For humans they only differ in upper and lower case, otherwise they are the same. This interpretation is based on a cultural convention, namely the knowledge of the relationship between uppercase and lowercase letters .

In computing systems , different characters are represented on the machine level by different numbers. In the ASCII character encoding, for example, the capital A has the decimal value and the small a has the decimal value . There is no relationship between both numerical values ​​at the machine level, since there is also no machine convention analogous to the cultural convention mentioned. The two values ​​and thus the two characters are unequal for the machine without additional processing. There are various common naming conventions for programming languages . 6597

However, it should be mentioned that ASCII as well as other character encodings, for the purpose of machine conversion from small to large characters as efficiently as possible, arrange them in the number space so that only a single bit has to be converted.

In order to also make non-sensitive treatment of text data available on computer systems, an abstraction layer must be placed over the native data understanding of the machine through the use of programming technology, which mimics the human text understanding mentioned above. This abstraction hides differences between large and small letters. From the user's point of view, this behavior can be desirable. This means a certain amount of additional computing power when processing text data, but this is insignificant for most applications given the technology available today.

A well-known example of the different treatment of text data are the file systems prevailing on the UNIX and Windows operating systems . While the file systems typical for UNIX are case- sensitive, Windows has for a long time been supplied with file systems that are not case- sensitive. For example, in the Windows file system FAT32 Name.txt and the NAME.TXTsame are different in ext3 under Linux . The Windows NTFS file system is in itself case sensitive . However, the operating system does not allow files to be created that are only case-sensitive, and access to files is also case-insensitive . However, the files are case-sensitive.

The HFS + and APFS file systems used by macOS (from macOS High Sierra ) are used as case insensitive by default , but can be switched, while they are used case sensitive under iOS .

This different behavior can lead to problems when exchanging data at the file level. This includes both physical data media such as USB sticks and mixed networks , for example when trying to copy two files with the same file name but different spelling from a UNIX system to the same directory on a Windows system.

In computer science , it is generally important whether there is a case sensitivity . The symbols of most programming languages ​​( C , Perl ) are case-sensitive, whereas those of others ( Pascal , Visual Basic Classic ) are not. Still other languages ​​( PHP ) mix the two principles.

See also

Web links


Individual evidence

  1. Filenames are Case Sensitive on NTFS Volumes . November 1, 2006. Retrieved October 24, 2013.