Чувствительность к регистру
В компьютерах чувствительность к регистру определяет, будут ли прописные и строчные буквы рассматриваться как отдельные ( с учетом регистра ) или эквивалентные ( без учета регистра ). Например, когда пользователи, заинтересованные в изучении собак, ищут в электронной книге , слова «собака» и «Собака» имеют для них одинаковое значение. Таким образом, они запрашивают поиск без учета регистра. Но когда они ищут в онлайн-энциклопедии информацию, например, об Организации Объединенных Наций или о чем-то, где нет двусмысленности в отношении использования заглавных букв и двусмысленности между двумя или более терминами, сокращенными заглавными буквами, они могут предпочесть поиск с учетом регистра.
Области значения
[ редактировать ]Чувствительность к регистру может отличаться в зависимости от ситуации:
- Поиск : пользователи ожидают, что системы поиска информации смогут правильно учитывать регистр в зависимости от характера операции. Пользователи, ищущие слово «собака» в онлайн-журнале, вероятно, не захотят различать «собака» и «Собака», поскольку это различие в написании; слово должно совпадать независимо от того, стоит оно в начале предложения или нет. С другой стороны, пользователи, ищущие информацию о названии бренда, товарном знаке, человеческом имени или названии города, могут быть заинтересованы в выполнении операции с учетом регистра для фильтрации нерелевантных результатов. Например, кто-то, ищущий название «Нефрит», не захочет найти упоминания о минерале под названием «Нефрит». Например, в английской Википедии поиск по слову «Дружественный огонь» возвращает военную статью, а « Дружественный огонь » (с заглавной буквы «Огонь») возвращает страницу значений. [Примечание 1] [1]
- Имена пользователей : системы аутентификации обычно обрабатывают имена пользователей без учета регистра, чтобы их было легче запомнить, что снижает сложность набора текста и исключает возможность как ошибок, так и мошенничества , когда два имени пользователя идентичны во всех аспектах, за исключением регистра одной из букв. Однако эти системы не являются слепыми. Они сохраняют регистр символов в имени , чтобы пользователи могли выбрать эстетически приятную комбинацию имен пользователей.
- Пароли . Системы аутентификации обычно обрабатывают пароли с учетом регистра. Это позволяет пользователям увеличивать сложность своих паролей.
- Имена файлов : Традиционно Unix-подобные операционные системы обрабатывают имена файлов с учетом регистра, в то время как Microsoft Windows не учитывает регистр, но для большинства файловых систем регистр сохраняется . Более подробную информацию см. ниже.
- Имена переменных : некоторые языки программирования чувствительны к регистру в именах переменных, а другие — нет. Более подробную информацию см. ниже.
- URL-адреса . Разделы URL-адреса «путь » , «запрос» , «фрагмент » и «авторитет» могут быть чувствительными к регистру, а могут и не учитываться, в зависимости от принимающего веб-сервера . и Однако части схемы хоста написаны строго строчными буквами.
В языках программирования
[ редактировать ]Некоторые языки программирования в своих идентификаторах чувствительны к регистру ( C , C++ , Java , C# , Verilog , [2] Руби , [3] Питон и Свифт ). Другие нечувствительны к регистру (т. е. не чувствительны к регистру), такие как ABAP , Ada , большинство BASIC (исключением является BBC BASIC ), Common Lisp , Fortran , SQL (для синтаксиса и для реализаций некоторых поставщиков, например Microsoft SQL). Сервер , сами данные) [Примечание 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, нечувствительными к регистру.
Примечания
[ редактировать ]- ^ Ссылка «Дружественный огонь» должна пройти через квалификатор (значения) в статье Википедии, чтобы избежать ошибки WP:INTDAB .
- ^ Хотя можно явно настроить параметры сортировки для одной базы данных или столбца с учетом регистра.
Ссылки
[ редактировать ]- ^ См. WP:DIFFCAPS.
- ^ Керниган, Брайан В .; Ричи, Деннис М. (февраль 1978 г.). «Глава 2: Типы, операторы и выражения». Язык программирования C (1-е изд.). Энглвуд Клиффс, Нью-Джерси: Прентис Холл. п. 33 . ISBN 0-13-110163-3 .
- ^ Мацумото, Юкихиро (январь 2002 г.). «Глава 2: Основы языка» . Вкратце о Рубине (1-е изд.). О'Рейли Медиа. п. 9 . ISBN 0-596-00214-9 .
- ^ «Руководство Нима: Равенство идентификаторов» . nim-lang.github.io . Проверено 27 апреля 2019 г.
- ^ «поиск с учетом регистра — поиск в Google с учетом регистра — Хостинг проектов Google» . code.google.com . Проверено 20 мая 2013 г.
- ^ «2.10 Создание запросов без учета регистра». Руководство пользователя Oracle SQL Developer, версия 1.5 (PDF) . Корпорация Оракл . Август 2013.
- ^ «C.5.5.1 Учет регистра при поиске строк» . Справочное руководство MySQL 5.0 . MySQL . Проверено 20 мая 2013 г.
- ^ «Учет регистра в подсистеме для UNIX-приложений» . Microsoft Learn . 22 августа 2005 г. Проверено 20 мая 2013 г.
- ^ «Имена файлов чувствительны к регистру на томах NTFS» . Поддержка Майкрософт . 01.11.2006. Архивировано из оригинала 23 июля 2013 года . Проверено 20 мая 2013 г.