Sensibilidad de mayúsculas y minúsculas

Compartir Imprimir Citar

En las computadoras, la distinción entre mayúsculas y minúsculas define si las letras mayúsculas y minúsculas se tratan como distintas (sensible a mayúsculas y minúsculas) o equivalentes (sin distinción entre mayúsculas y minúsculas). Por ejemplo, cuando los usuarios interesados en aprender sobre perros buscan un libro electrónico, "perro" y "Perro" tienen el mismo significado para ellos. Por lo tanto, solicitan una búsqueda que no distinga entre mayúsculas y minúsculas. Pero cuando buscan en una enciclopedia en línea información sobre las Naciones Unidas, por ejemplo, o algo sin ambigüedad con respecto a las mayúsculas y la ambigüedad entre dos o más términos cortados por mayúsculas, es posible que prefieran una búsqueda que distinga entre mayúsculas y minúsculas.

Áreas de importancia

La distinción entre mayúsculas y minúsculas puede diferir según la situación:

En lenguajes de programación

Algunos lenguajes de programación distinguen entre mayúsculas y minúsculas para sus identificadores (C, C++, Java, C#, Verilog, Ruby, Python y Swift). Otros no distinguen entre mayúsculas y minúsculas (es decir, no distinguen entre mayúsculas y minúsculas), como ABAP, Ada, la mayoría de los BASIC (a excepción de BBC BASIC), Fortran, SQL (para la sintaxis y para algunas implementaciones de proveedores, por ejemplo, Microsoft SQL Server, el datos en sí) y Pascal. También hay lenguajes, como Haskell, Prolog y Go, en los que las mayúsculas de un identificador codifican información sobre su semántica. Algunos otros lenguajes de programación tienen una diferenciación entre mayúsculas y minúsculas; en PHP, por ejemplo, los nombres de variables distinguen entre mayúsculas y minúsculas, pero los nombres de funciones no distinguen entre mayúsculas y minúsculas. Esto significa que si define una función en minúsculas, puede llamarla en mayúsculas, pero si define una variable en minúsculas, no puede referirse a ella en mayúsculas. Nim no distingue entre mayúsculas y minúsculas e ignora los guiones bajos, siempre que coincidan los primeros caracteres.

En la búsqueda de texto

Una operación de búsqueda de texto puede distinguir entre mayúsculas y minúsculas o no, según el sistema, la aplicación o el contexto. En muchos casos, el usuario puede especificar si una búsqueda distingue entre mayúsculas y minúsculas, p. en la mayoría de los editores de texto, procesadores de texto y navegadores web. Una búsqueda que no distingue entre mayúsculas y minúsculas es más exhaustiva y encuentra "Idioma" (al comienzo de una oración), "idioma" y "IDIOMA" (en un título en mayúsculas); una búsqueda que distingue entre mayúsculas y minúsculas encontrará el lenguaje informático "BASIC" pero excluye la mayoría de las muchas instancias no deseadas de la palabra. Por ejemplo, el motor de búsqueda de Google básicamente no distingue entre mayúsculas y minúsculas, sin opción para la búsqueda entre mayúsculas y minúsculas. En Oracle SQL, la mayoría de las operaciones y búsquedas distinguen entre mayúsculas y minúsculas de forma predeterminada, mientras que en la mayoría de las búsquedas SQL de otros DBMS no distinguen entre mayúsculas y minúsculas de forma predeterminada.

A veces se dice que las operaciones que no distinguen entre mayúsculas y minúsculas doblan mayúsculas y minúsculas, por la idea de plegar la tabla de códigos de caracteres para que coincidan las letras mayúsculas y minúsculas.

En sistemas de archivos

En los sistemas de archivos en sistemas similares a Unix, los nombres de archivo generalmente distinguen entre mayúsculas y minúsculas (puede haber archivos readme.txt y Readme.txt separados en el mismo directorio). MacOS es un tanto inusual en el sentido de que, de forma predeterminada, utiliza HFS+ y APFS en un modo que no distingue entre mayúsculas y minúsculas (de modo que no puede haber un archivo Léame.txt y un Léame.txt en el mismo directorio), pero en modo de conservación de mayúsculas y minúsculas (de modo que un archivo creado como Léame.txt se muestra como Léame.txt y un archivo creado como Léame.txt se muestra como Léame.txt) de forma predeterminada. Esto causa algunos problemas para los desarrolladores y usuarios avanzados, porque la mayoría de los sistemas de archivos en otros entornos similares a Unix distinguen entre mayúsculas y minúsculas y, por ejemplo, un árbol de código fuente para software para sistemas similares a Unix puede tener un archivo llamado Makefile y un archivo llamado makefile en el mismo directorio. Además, algunos instaladores de Mac no distinguen entre mayúsculas y minúsculas y fallan en los sistemas de archivos que distinguen entre mayúsculas y minúsculas.

Los antiguos sistemas de archivos de MS-DOS FAT12 y FAT16 no distinguían entre mayúsculas y minúsculas y no conservaban mayúsculas y minúsculas, de modo que un archivo cuyo nombre se ingresa como readme.txt o ReadMe.txt se guarda como README.TXT. Más tarde, con VFAT en Windows 95, los sistemas de archivos FAT se convirtieron en una extensión de la compatibilidad con nombres de archivo largos. Los sistemas de archivos posteriores de Windows, como NTFS, distinguen internamente entre mayúsculas y minúsculas, y un archivo Léame.txt y un archivo Léame.txt pueden coexistir en el mismo directorio. Sin embargo, a efectos prácticos, los nombres de archivo no distinguen entre mayúsculas y minúsculas en lo que respecta a los usuarios y la mayoría del software. Esto puede causar problemas para los desarrolladores o el software que proviene de entornos similares a Unix, similares a los problemas con los sistemas de archivos que no distinguen entre mayúsculas y minúsculas de macOS.