Sensible a mayúsculas y minúsculas
# Sensible a mayúsculas y minúsculas

Que algo sea sensible a las mayúsculas y minúsculas, abreviado a veces como sensible a mayúsculas, y dicho también directamente en inglés case sensitive, es una expresión usada en informática que se aplica a los textos en los que tiene alguna relevancia escribir un carácter en mayúsculas o minúsculas (ejemplo: pH y PH).

Lo contrario se denomina insensible a las mayúsculas y minúsculas, abreviado a veces como insensible a mayúsculas y dicho también directamente en inglés case insensitive (por ejemplo, para Google es lo mismo «BILL CLINTON» que «bill clinton», y en ambos casos encontrará «Bill Clinton» y también «biLL clintON»).

## Usos

### Textos normales

Al escribir textos normales todo es sensible a mayúsculas.

Por ejemplo, en español es un error escribir un nombre propio de persona, animal o cosa solamente en minúsculas, como Beatriz, Platero o Tizona (espada del Cid).

Los pueblos, lenguas y gentilicios se escriben siempre con minúsculas: el pueblo inca, los mayas, el francés, los californianos.

Al escribir titulares en ciertos diarios todo se escribe en mayúsculas.

Al comenzar una frase forzosamente se debe usar mayúscula. Por ejemplo «Californiano rompe marca de salto altura».

### Informática

Sensible a mayúsculas como técnica de procesado de textos tiene diversos usos en la informática como se muestra en los siguientes ejemplos:

* Contraseñas: casi siempre son sensible a mayúsculas (es común que los sistemas avisen cuando está Bloq Mayús activado, para evitar teclear una contraseña incorrecta por accidente)
* Nombres de usuario: varía según sistemas (metroFLOG no distingue entre Paulaaa, paulaaa y pAuLaAa, mientras que en Wikipedia solo la primera letra es insensible a mayúsculas.
* Búsquedas de texto, generalmente pueden ser sensible o insensibles a mayúsculas a voluntad del usuario. En muchos sistemas, por ejemplo en Google, son forzosamente insensibles a mayúsculas.
* Etiquetas o tags: depende del lenguaje. En XML las etiquetas son sensibles a mayúsculas y en HTML son insensibles.
* Nombres de comandos: depende del sistema operativo; en Unix solo se puede escribir more y en cambio en MS-DOS también se puede escribir MORE, More, o mOrE.
* Nombres de archivos: depende del sistema operativo; en Unix es distinto LaCenicienta.doc que lacenicienta.doc. En Windows ambos ejemplos referencian al mismo archivo.
* Nombres de variables: En la disciplina de la programación sensible a mayúsculas existe en algunos lenguajes y no en otros. Por ejemplo en C, C++ y Java no es lo mismo escribir una nombre en mayúsculas que en minúsculas, al tanto que lenguajes como BASIC, Visual Basic, Pascal y algunos lenguajes ensambladores no hacen la diferencia.
* Nombres de dominio: insensible a mayúsculas; es lo mismo google.cl que Google.CL.
* Páginas web: el dominio es insensible a mayúsculas pero el resto de la dirección puede ser sensible.
* El hashtag de Twitter no es sensible a mayúsculas o minúsculas.

## Implementación

Cada carácter en un texto digital se puede representar por un conjunto de dígitos binarios. En sistemas antiguos, la relación entre éstos se especifica en el Código ASCII. Este código está diseñado de forma que, dada una letra minúscula del alfabeto inglés, basta con sumarle 32 a la representación numérica (aplicándole OR 0100000) se obtiene su mayúscula. Ejemplo:

| carácter | decimal | binario |
| - | - | - |
| A | 65 | 1000001 |
| a | 97 | 1100001 |
| D | 68 | 1000100 |
| d | 100 | 1100100 |

Esto permite hacer una búsqueda insensible a mayúsculas en forma fácil.

A día de hoy se usan comúnmente otras codificaciones, como el Unicode, por lo que la comparación no se puede reducir a un algoritmo como el anterior.

| carácter | decimal | binario |
| - | - | - |
| Ā | 256 | 100000000 |
| ā | 257 | 100000001 |
