В компьютерах чувствительность к регистру определяет, рассматриваются ли заглавные и строчные буквы как отдельные ( чувствительные к регистру ) или эквивалентные ( нечувствительные к регистру ). Например, когда пользователи, заинтересованные в изучении собак, ищут электронную книгу , «собака» и «Собака» имеют для них одинаковое значение. Таким образом, они запрашивают поиск без учета регистра. Но когда они ищут в онлайн-энциклопедии информацию об Организации Объединенных Наций , например, или что-то, в чем нет двусмысленности относительно заглавных букв и двусмысленности между двумя или более терминами, сокращенными за счет заглавных букв, они могут предпочесть поиск с учетом регистра.
Чувствительность к регистру может различаться в зависимости от ситуации:
Некоторые языки программирования чувствительны к регистру для своих идентификаторов ( C , C++ , Java , C# , Verilog , [2] Ruby , [3] Python и Swift ). Другие нечувствительны к регистру (т. е. нечувствительны к регистру), такие как ABAP , Ada , большинство BASIC (исключением является BBC BASIC ), Common Lisp , Fortran , SQL (для синтаксиса и для некоторых реализаций поставщиков, например Microsoft SQL Server , самих данных) [NB 2] Pascal , Rexx и ooRexx . Существуют также языки, такие как Haskell , Prolog и Go , в которых заглавные буквы идентификатора кодируют информацию о его семантике . Некоторые другие языки программирования имеют различную чувствительность к регистру; в PHP , например, имена переменных чувствительны к регистру, но имена функций не чувствительны к регистру. Это означает, что если функция определена в нижнем регистре, ее можно вызвать в верхнем регистре, но если переменная определена в нижнем регистре, на нее нельзя ссылаться в верхнем регистре. Nim нечувствителен к регистру и игнорирует подчеркивания, пока совпадают первые символы. [4]
Операция текстового поиска может быть чувствительной или нечувствительной к регистру, в зависимости от системы, приложения или контекста. Пользователь может во многих случаях указать, чувствителен ли поиск к регистру, например, в большинстве текстовых редакторов, текстовых процессоров и веб-браузеров. Поиск без учета регистра более всеобъемлющ, находя «Language» (в начале предложения), «language» и «LANGUAGE» (в заголовке заглавными буквами); поиск с учетом регистра найдет компьютерный язык «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 в одном каталоге. Кроме того, некоторые установщики 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.