Обратный слэш в информатике и типографике¶
Обратный слэш (также обратная косая черта, бэкслеш, от англ. backslash) — типографский знак \, представляющий собой зеркальное отражение обычной косой черты (слэша). Относится к группе символов пунктуации и широко используется в программировании, разметке файловых путей и системах кодирования. В стандарте Юникод имеет код U+005C, в таблице ASCII — десятичный код 92.
¶Происхождение и история
Знак был введён в 1960 году американским инженером Бобом Бемером, работавшим в компании IBM над языком программирования ALGOL. Потребовалось два разных символа для логических операторов: обычная косая черта уже применялась, и Бемер предложил её зеркальный вариант. Первоначально обратный слэш не входил в набор символов стандартной клавиатуры, и его приходилось добавлять вручную.
В 1961 году знак был включён в набор ASCII как отдельный печатный символ. Распространение он получил вместе с операционной системой MS-DOS, где стал разделителем каталогов в файловых путях. Позднее обратный слэш закрепился в языках программирования C, C++, Java, Python, Perl и многих других как управляющий символ.
¶Внешний вид и ввод
Графически знак наклонён сверху влево вниз, в отличие от слэша, наклонённого сверху вправо вниз. На стандартной компьютерной клавиатуре с раскладкой QWERTY обратный слэш расположен над клавишей Enter. В русской раскладке ЙЦУКЕН он обычно доступен по той же физической клавише.
Способы ввода:
- прямое нажатие клавиши
\; - код ASCII: Alt + 92 (на цифровой клавиатуре);
- код Юникода: U+005C;
- в HTML — как
\или\.
¶Применение в файловых системах
В операционных системах семейства Windows обратный слэш служит разделителем элементов пути к файлу, например C:\Users\Documents\file.txt. В системах Unix и Linux, а также в macOS для этой цели используется обычная косая черта (/). Это различие нередко вызывает путаницу при переносе программ и скриптов между платформами.
В сетевых адресах (URL) применяется исключительно прямой слэш, тогда как обратный слэш в них недопустим или требует специального экранирования.
¶Управляющие последовательности
Наиболее значимая роль обратного слэша — экранирование и формирование управляющих последовательностей в языках программирования. Символ, стоящий перед другим символом, меняет его интерпретацию:
| Последовательность | Значение |
|---|---|
\n | перевод строки |
\t | табуляция |
\\ | сам обратный слэш |
\" | двойная кавычка внутри строки |
\0 | нулевой символ |
\uXXXX | символ Юникода по коду |
Экранирование позволяет включать в строковые литералы символы, которые иначе были бы восприняты как служебные. Например, чтобы вывести кавычку внутри строки, перед ней ставится обратный слэш.
¶Регулярные выражения
В регулярных выражениях обратный слэш выполняет двойную функцию: экранирует специальные символы (точку, звёздочку, скобки) и задаёт классы символов (\d — цифра, \w — буква или цифра, \s — пробельный символ). Это делает его одним из ключевых элементов синтаксиса поиска по шаблону.
¶В языках разметки
В LaTeX обратный слэш начинает любую команду, например \alpha, \frac, \section. В Markdown он используется для экранирования символов, имеющих разметочное значение (звёздочек, подчёркиваний, решёток). В языках разметки документов и конфигурационных файлах знак нередко служит признаком продолжения строки.
¶В математике и логике
В теории множеств символ \ обозначает разность множеств: запись A \ B означает элементы, принадлежащие A, но не принадлежащие B. В некоторых разделах математической логики обратный слэш применяется как знак отрицания или исключения.
¶Путаница и критика
Обратный слэш часто путают с прямой косой чертой, что приводит к ошибкам при вводе путей, адресов и команд. В Windows эта путаница усугубляется тем, что многие программы принимают оба варианта, тогда как стандарт требует строгого различия. Кроме того, на некоторых клавиатурах и в ряде шрифтов знак отображается нечётко или отсутствует.
В веб-разработке обратный слэш иногда используется злоумышленниками для обхода фильтров и внедрения кода, поэтому системы безопасности уделяют его обработке особое внимание.
¶Связанные символы
Помимо обратного слэша, существуют близкие по назначению знаки: прямой слэш (/), вертикальная черта (|), а также различные виды тире. В Юникоде присутствуют и другие разновидности косой черты, включая полноширинный и математический варианты.
¶Источники
- Спецификация стандарта ASCII, ANSI X3.4.
- Документация по языкам программирования C, Python, Perl.
- Справочные материалы по операционным системам Windows и Unix.
- Стандарт Юникод, таблица символов основной латиницы.
- Учебные пособия по регулярным выражениям и языку LaTeX.