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 ( con distinción entre 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 distinguir entre mayúsculas y minúsculas según la naturaleza de una operación. Los usuarios que buscan la palabra "perro" en una revista en línea probablemente no deseen diferenciar entre "perro" o "perro", ya que se trata de una distinción escrita; la palabra debe coincidir tanto si aparece al principio de una oración como si no. Por otro lado, los usuarios que buscan información sobre una marca, una marca comercial, un nombre humano o el nombre de una ciudad pueden estar interesados ​​en realizar una operación que distinga entre mayúsculas y minúsculas para filtrar los resultados irrelevantes. Por ejemplo, alguien que busque el nombre "Jade" no querrá encontrar referencias al mineral llamado "jade". En la Wikipedia en inglés, por ejemplo, una búsqueda de fuego amigodevuelve el artículo militar pero Friendly Fire (en mayúsculas "Fire") devuelve la página de desambiguación. [NOTA 1] [1]
  • Nombres de usuario : los sistemas de autenticación generalmente tratan los nombres de usuario sin distinguir entre mayúsculas y minúsculas para que sean más fáciles de recordar, lo que reduce la complejidad del tipeo y elimina la posibilidad de errores y fraudes cuando dos nombres de usuario son idénticos en todos los aspectos, excepto en el caso de una de sus letras. Sin embargo, estos sistemas no distinguen entre mayúsculas y minúsculas. Conservan el caso de los caracteres en el nombre para que los usuarios puedan elegir una combinación de nombre de usuario estéticamente agradable.
  • Contraseñas : los sistemas de autenticación suelen tratar las contraseñas con distinción entre mayúsculas y minúsculas. 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 archivo con distinción entre mayúsculas y minúsculas, mientras que Microsoft Windows no distingue entre mayúsculas y minúsculas pero, para la mayoría de los sistemas de archivos, conserva las mayúsculas y minúsculas . Para obtener más detalles, consulte a continuación.
  • Nombres de variables : algunos lenguajes de programación distinguen entre mayúsculas y minúsculas en sus nombres de variables, mientras que otros no. Para obtener más detalles, consulte a continuación.
  • URL : las secciones de ruta , consulta , fragmento y autoridad de una URL pueden o no distinguir entre mayúsculas y minúsculas, según el servidor web receptor . El esquema y las partes del host , sin embargo, están estrictamente en 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 , [2] Ruby , [3] 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í) [NB 2] yPascual . 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. [4]

En 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, por ejemplo, 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 completa y encuentra "Idioma" (al comienzo de una oración), "idioma" e "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 excluirá la mayoría de las 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. [5] En Oracle SQL, la mayoría de las operaciones y búsquedas distinguen entre mayúsculas y minúsculas de forma predeterminada, [6]mientras que en la mayoría de los demás DBMS , las búsquedas SQL no distinguen entre mayúsculas y minúsculas de forma predeterminada. [7]

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 doblar 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 tanto un archivo denominado Makefile como un archivo denominado 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, por lo 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 para preservar mayúsculas y minúsculas . [8] Los sistemas de archivos posteriores de Windows, como NTFS, distinguen entre mayúsculas y minúsculas internamente, y un readme.txt y un Readme.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. [9]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.

notas

  1. ^ Tenga en cuenta que el enlace "Friendly Fire" debe pasar por el calificador (desambiguación) en un artículo de Wikipedia para evitar un error WP:INTDAB .
  2. ^ Aunque uno puede configurar explícitamente una base de datos única o una colación de columna para que distinga entre mayúsculas y minúsculas

Referencias

  1. ^ Ver WP: DIFFCAPS
  2. ^ Kernighan, Brian W .; Ritchie, Dennis M. (febrero de 1978). "Capítulo 2: Tipos, Operadores y Expresiones". El lenguaje de programación C (1ª ed.). Englewood Cliffs, Nueva Jersey: Prentice Hall. pag. 33. ISBN 0-13-110163-3.
  3. ^ Matsumoto, Yukihiro (enero de 2002). "Capítulo 2: Conceptos básicos del lenguaje". Ruby en pocas palabras (1ª ed.). O´Reilly Media. pag. 9. ISBN 0-596-00214-9.
  4. ^ "Manual de Nim: igualdad de identificador". nim-lang.github.io . Consultado el 27 de abril de 2019 .
  5. ^ "búsqueda que distingue entre mayúsculas y minúsculas - búsqueda en Google que distingue entre mayúsculas y minúsculas - Google Project Hosting" . código.google.com . Consultado el 20 de mayo de 2013 .
  6. ^ "2.10 Hacer que las consultas no distingan entre mayúsculas y minúsculas". Guía del usuario de Oracle SQL Developer, versión 1.5 (PDF) . Corporación Oracle . Agosto 2013.
  7. ^ "MySQL :: MySQL 5.0 Reference Manual :: C.5.5.1 Sensibilidad a mayúsculas y minúsculas en búsquedas de cadenas". dev.mysql.com . Consultado el 20 de mayo de 2013 .
  8. ^ "Sensibilidad a mayúsculas y minúsculas en el subsistema para aplicaciones basadas en UNIX". technet.microsoft.com . 2005-08-22 . Consultado el 20 de mayo de 2013 .
  9. ^ "Los nombres de archivo distinguen entre mayúsculas y minúsculas en volúmenes NTFS". soporte.microsoft.com . 2006-11-01 . Consultado el 20 de mayo de 2013 .