В компьютерах чувствительность к регистру определяет, обрабатываются ли прописные и строчные буквы как отдельные ( с учетом регистра ) или эквивалентные ( без учета регистра ). Например, когда пользователи, заинтересованные в изучении собак, ищут в электронной книге , слова «собака» и «Собака» имеют для них одинаковое значение. Таким образом, они запрашивают поиск без учета регистра. Но когда они ищут в онлайн-энциклопедии информацию , например, об Организации Объединенных Наций или о чем-то, где нет двусмысленности в отношении использования заглавных букв и двусмысленности между двумя или более терминами, сокращенными заглавными буквами, они могут предпочесть поиск с учетом регистра.
Чувствительность к регистру может отличаться в зависимости от ситуации:
Некоторые языки программирования в своих идентификаторах чувствительны к регистру ( C , C++ , Java , C# , Verilog , [2] Ruby , [3] Python и Swift ). Другие нечувствительны к регистру (т. е. не чувствительны к регистру), такие как ABAP , Ada , большинство BASIC (исключением является BBC BASIC ), Common Lisp , Fortran , SQL (для синтаксиса и для реализаций некоторых поставщиков, например Microsoft SQL) . Сервер , сами данные) [NB 2] и Паскаль . Существуют также языки, такие как Haskell , Prolog и Go , в которых использование заглавных букв идентификатора кодирует информацию о его семантике . Некоторые другие языки программирования имеют различную чувствительность к регистру; в PHP , например, имена переменных чувствительны к регистру, но имена функций не чувствительны к регистру. Это означает, что если вы определяете функцию в нижнем регистре, вы можете вызывать ее в верхнем регистре, но если вы определяете переменную в нижнем регистре, вы не можете ссылаться на нее в верхнем регистре. Nim не учитывает регистр и игнорирует символы подчеркивания, если первые символы совпадают. [4]
Операция текстового поиска может быть с учетом или без учета регистра, в зависимости от системы, приложения или контекста. Во многих случаях пользователь может указать, учитывает ли поиск регистр, например, в большинстве текстовых редакторов, текстовых процессоров и веб-браузеров. Поиск без учета регистра является более полным: он находит «Язык» (в начале предложения), «язык» и «ЯЗЫК» (в заголовке, написанном заглавными буквами); поиск с учетом регистра найдет компьютерный язык «BASIC», но исключит большинство нежелательных экземпляров этого слова. Например, поисковая система Google в основном нечувствительна к регистру и не имеет возможности выполнять поиск с учетом регистра. [5] В Oracle SQL большинство операций и поисков по умолчанию чувствительны к регистру, [6] тогда как в большинстве других СУБД поиск SQL по умолчанию нечувствителен к регистру. [7]
Иногда говорят, что нечувствительные к регистру операции сворачивают регистр , исходя из идеи сворачивания таблицы кодов символов так, чтобы буквы верхнего и нижнего регистра совпадали.
В файловых системах Unix-подобных систем имена файлов обычно чувствительны к регистру (в одном каталоге могут находиться отдельные файлы readme.txt и Readme.txt). MacOS несколько необычен тем, что по умолчанию он использует HFS+ и APFS без учета регистра (так что в одном каталоге не может быть файлов readme.txt и Readme.txt), но с сохранением регистра (чтобы файл созданный как readme.txt, по умолчанию отображается как readme.txt, а файл, созданный как Readme.txt, отображается как Readme.txt). Это вызывает некоторые проблемы для разработчиков и опытных пользователей , поскольку большинство файловых систем в других Unix-подобных средах чувствительны к регистру, и, например, дерево исходного кода программного обеспечения для Unix-подобных систем может содержать как файл с именем Makefile, так и файл с именем Makefile. файл с именем makefile в том же каталоге. Кроме того, некоторые установщики Mac предполагают нечувствительность к регистру и не работают в файловых системах, чувствительных к регистру.
Более старые файловые системы MS-DOS FAT12 и FAT16 были нечувствительны к регистру и не сохраняли регистр, поэтому файл, имя которого введено как readme.txt или ReadMe.txt, сохраняется как README.TXT. Позже, с появлением VFAT в Windows 95, файловые системы FAT стали сохранять регистр как расширение поддержки длинных имен файлов . [8] Более поздние файловые системы Windows, такие как NTFS , внутренне чувствительны к регистру, и файлы readme.txt и Readme.txt могут сосуществовать в одном каталоге. Однако для практических целей имена файлов нечувствительны к регистру с точки зрения пользователей и большинства программ. [9] Это может вызвать проблемы для разработчиков или программного обеспечения из Unix-подобных сред, аналогичные проблемам с файловыми системами macOS, нечувствительными к регистру.