Case sensitivity
|
Text sometimes exhibits case sensitivity, that is, words can differ in meaning based on the differing use of uppercase and lowercase letters. Words with capital letters don't always have the same meaning as words with lowercase letters. For example, Bill is the name of a former president (Clinton) who signs a bill (which is a proposed law put before a legislature).
When a computer compares two words to decide whether they are equal, it may or may not consider words equal which only differ in case.
This is relevant e.g. with regard to:
- user names
- passwords
- commands
- variable names
- Wikipedia web page addresses
- when the user applies a search function to search for a text string
Some computer languages are case sensitive (Java, C++, and C), while others are case insensitive (Visual Basic and ASP).
Often, computer passwords are case sensitive and computer user names are not, which can be confusing for the unexperienced user. Passwords are often made case sensitive to make them harder to guess, whereas making usernames harder to guess or remember is not an advantage.
It takes more work for a program to ignore case when comparing data, depending on the data being compared. Usually it suffices in text coded in character sets like ASCII or EBCDIC to merely convert the comparand and the data temporarily to one case and then compare, however it becomes far more challenging in a multi-lingual environment, e.g., using Unicode, since case-conversion rules differ between some languages, for example in German there is no uppercase form for the sharp s ("ß").
Case insensitive operations are sometimes said to fold case, from the idea of folding the character code table so that upper and lower case letters coincide. The alternative smash case is more likely to be used by someone who considers this behaviour a misfeature or in cases where one case is actually permanently converted to the other.
Wikipedia itself is an example of a program that doesn't volunteer to smash case. See Case Sensitivity.