Sensibilidad de mayúsculas y minúsculas
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:
- Búsqueda: Los usuarios esperan que los sistemas de recuperación de información puedan tener una correcta sensibilidad de caso dependiendo de la naturaleza de una operación. Los usuarios que buscan la palabra "perro" en una revista en línea probablemente no desean diferenciar entre "perro" o "perro", ya que esta es una distinción de escritura; la palabra debe ser igualada si aparece al principio de una frase o no. Por otro lado, los usuarios que buscan información sobre un nombre de marca, marca, nombre humano o nombre de ciudad pueden estar interesados en realizar una operación sensible a casos para filtrar resultados irrelevantes. Por ejemplo, alguien que busca el nombre "Jade" no quiere encontrar referencias al mineral llamado "jade". En la Wikipedia inglesa, por ejemplo, una búsqueda de fuego amistoso devuelve el artículo militar pero Friendly Fire (capitalizado "Fire") devuelve la página de desambiguación.
- Nombres de usuario: Los sistemas de autenticación suelen tratar los nombres de usuario como insensibles para hacerlos más fáciles de recordar, reducir la complejidad de la escritura, y eliminar la posibilidad de errores y fraude cuando dos nombres de usuario son idénticos en cada aspecto, excepto el caso de una de sus cartas. Sin embargo, estos sistemas no son ciegos. Conservan el caso de los caracteres en el nombre para que los usuarios puedan elegir una combinación estéticamente agradable de nombre de usuario.
- Contraseñas: Los sistemas de autenticación generalmente tratan contraseñas como sensibles a casos. Esto permite a los usuarios aumentar la complejidad de sus contraseñas.
- Nombres de archivo: Tradicionalmente, los sistemas operativos similares a Unix tratan los nombres de archivos sensiblemente mientras que Microsoft Windows es sensible a casos, pero, para la mayoría de los sistemas de archivos, caso-preservación. Para más detalles, consulte a continuación.
- Nombres variables: Algunos idiomas de programación son sensibles a sus nombres variables, mientras que otros no lo son. Para más detalles, consulte a continuación.
- URL: Las sendero, query, fragmento, y autoridad secciones de una URL pueden o no ser sensibles a casos, dependiendo del servidor web receptor. El esquema y anfitrión las partes, sin embargo, son estrictamente minúsculas.
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.
Contenido relacionado
Eficiencia algorítmica
Protocolo de control de cliente flaco
2B1Q