Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В компьютерах чувствительность к регистру определяет, обрабатываются ли прописные и строчные буквы как отдельные (с учетом регистра ) или эквивалентные ( без учета регистра ). Например, когда пользователи, заинтересованные в информации о собаках, ищут в электронной книге , слова «собака» и «собака» имеют для них одинаковое значение. Таким образом, они запрашивают поиск без учета регистра. Но когда они ищут в онлайн-энциклопедии информацию , например, об Организации Объединенных Наций или что-то без двусмысленности в отношении использования заглавных букв и двусмысленности между двумя или более терминами, сокращенными на заглавные буквы, они могут предпочесть поиск с учетом регистра.

Важные области [ править ]

Чувствительность к регистру может отличаться в зависимости от ситуации:

  • Поиск : пользователи ожидают, что системы поиска информации будут иметь возможность правильно учитывать регистр в зависимости от характера операции. Пользователи, которые ищут слово «собака» в онлайн-журнале, вероятно, не хотят делать различие между «собакой» и «собакой», поскольку это различие в написании; слово должно быть сопоставлено независимо от того, появляется оно в начале предложения или нет. С другой стороны, пользователи, ищущие информацию о бренде, товарном знаке, человеческом имени или названии города, могут быть заинтересованы в выполнении операции с учетом регистра для фильтрации нерелевантных результатов. Например, кто-то, ищущий имя «Нефрит», не захотел бы найти упоминания о минерале «нефрит». В английской Википедии, например, поиск Friendly fireвозвращает военную статью, но Friendly Fire (с заглавной буквы «Огонь») возвращает страницу значений. [NB 1] [1]
  • Имена пользователей : системы аутентификации обычно рассматривают имена пользователей как нечувствительные к регистру, чтобы облегчить запоминание, снизить сложность набора и исключить возможность как ошибки, так и мошенничества, когда два имени пользователя идентичны во всех аспектах, кроме регистра одной из букв. Однако в этих системах не учитывается регистр. Они сохраняют регистр символов в имени, чтобы пользователи могли выбрать эстетически приятную комбинацию.
  • Пароли : в системах аутентификации пароли обычно чувствительны к регистру. Это позволяет пользователям увеличивать сложность своих паролей.
  • Имена файлов : Традиционно Unix-подобные операционные системы обрабатывают имена файлов с учетом регистра, в то время как Microsoft Windows не учитывает регистр, но для большинства файловых систем сохраняет регистр . Подробнее см. Ниже.
  • Имена переменных : в некоторых языках программирования для имен переменных учитывается регистр, а в других - нет. Подробнее см. Ниже.
  • URL-адреса : разделы пути , запроса , фрагмента и авторитетного URL-адреса могут или не могут быть чувствительны к регистру, в зависимости от принимающего веб-сервера . Тем не менее, схема и хост написаны строго в нижнем регистре.

На языках программирования [ править ]

В некоторых языках программирования в идентификаторах учитывается регистр ( C , C ++ , Java , C # , Verilog , [2] Ruby , [3] Python и Swift ). Другие нечувствительны к регистру (т.е. не чувствительны к регистру), такие как ABAP , Ada , большинство BASIC (за исключением BBC BASIC ), Fortran , SQL (для синтаксиса и для некоторых реализаций поставщиков, например Microsoft SQL Server , сами данные) [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 в одном каталоге. Кроме того, некоторые установщики 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 без учета регистра.

Заметки [ править ]

  1. ^ Обратите внимание, что ссылка «Friendly Fire» должна проходить через квалификатор (значения) в статье Википедии, чтобы избежатьошибки WP: INTDAB .
  2. ^ Хотя можно явно указать для отдельной базы данных или столбца сортировку с учетом регистра

Ссылки [ править ]

  1. ^ См. WP: DIFFCAPS
  2. ^ Керниган, Брайан В .; Ричи, Деннис М. (февраль 1978 г.). «Глава 2: Типы, операторы и выражения». Язык программирования C (1-е изд.). Энглвуд Клиффс, Нью-Джерси: Prentice Hall. п. 33 . ISBN 0-13-110163-3.
  3. Мацумото, Юкихиро (январь 2002 г.). «Глава 2: Основы языка». Вкратце о Ruby (1-е изд.). O'Reilly Media. п. 9 . ISBN 0-596-00214-9.
  4. ^ "Руководство Нима: Равенство идентификаторов" . nim-lang.github.io . Проверено 27 апреля 2019 .
  5. ^ "Поиск с учетом регистра - поиск в Google с учетом регистра - Хостинг проектов Google" . code.google.com . Проверено 20 мая 2013 .
  6. ^ «2.10 Создание запросов без учета регистра». Руководство пользователя Oracle SQL Developer, версия 1.5 (PDF) . Корпорация Oracle . Август 2013.
  7. ^ "MySQL :: MySQL 5.0: Справочное руководство :: C.5.5.1 Чувствительность к регистру при поиске строк" . dev.mysql.com . Проверено 20 мая 2013 .
  8. ^ «Чувствительность к регистру в подсистеме для приложений на базе UNIX» . technet.microsoft.com . 2005-08-22 . Проверено 20 мая 2013 .
  9. ^ «Имена файлов в NTFS-томах чувствительны к регистру» . support.microsoft.com . 2006-11-01 . Проверено 20 мая 2013 .