Нотация каретки - Caret notation

Нотация каретки это обозначение для управляющие символы в ASCII. Обозначение присваивает ^ А к контрольному коду 1, последовательно по алфавиту до ^ Z назначен контрольному коду 26 (0x1A). Для управляющих кодов за пределами диапазона 1-26 нотация распространяется на соседние неалфавитные символы ASCII.

Часто управляющий символ можно набрать на клавиатуре, удерживая Ctrl и ввод символа, показанного после каретки. Обозначение часто используется для описания сочетаний клавиш, даже если управляющий символ фактически не используется (например, «введите ^ X для резать текст").

Значение или интерпретация, или ответ на отдельные контрольные коды нет предписывается нотацией каретки.

Описание

Обозначение состоит из каретка (^), за которым следует один символ (обычно заглавная буква). Орграф обозначает управляющий символ, код ASCII которого совпадает с кодом ASCII символа с перевернутым верхним битом в 7-битной кодировке. Полезная мнемоника, она дает эффект рендеринга C0 управляющий символ с кодом N, (куда N от 1 до 26 = 0x1A) как N-я заглавная буква алфавита, поскольку заглавные буквы представлены диапазоном кода ASCII 65–90 (0x41–0x5A). Семь управляющих символов ASCII отображаются вне алфавита в верхнем регистре: 0 (NUL ) является ^@, 27 (ESC ) является ^[, 28 - это ^\, 29 - это ^], 30 - это ^^, 31 - это ^_, и 127 (DEL ) является ^?.

Примеры:^ M ^ J"для Windows CR, LF новая линия пара, и описывая Escape-последовательность ANSI чтобы очистить экран как "^[[3J".

Только использование символов в диапазоне 63–95 ("? @ABC ... XYZ [] ^ _") специально разрешено в обозначении, но использование букв нижнего регистра, вводимых с клавиатуры, почти всегда разрешено - они рассматриваются как эквивалентные буквам верхнего регистра.

Обращение самого верхнего из 7 бит выполняется побитовым Эксклюзивный или с 0x40 (64). Это идентично добавлению 64 модуль 128 или сложение 64 и маскировка с 0x7F. Эта же операция выполняется как для преобразования из управляющего кода в символ для печати после каретки, так и для обратного преобразования символа в управляющий код. При преобразовании в управляющий символ, за исключением '?', Маскирование с помощью 0x1F даст тот же результат, а также превратит нижний регистр в тот же управляющий символ, что и верхний регистр.

Не существует соответствующей версии обозначения курсора для управляющих кодов с более чем 7 битами, таких как Управляющие символы C1 из 128–159 (0x80–0x9F). Некоторые программы, которые создают нотацию курсора, показывают это как обратную косую черту и восьмеричный ("\200" через "\237"). Также см обозначение столбцов, используемое Acorn Computers, ниже.

Использование в программном обеспечении

Многие компьютерные системы позволяют пользователю вводить управляющий символ, удерживая Ctrl и нажмите букву, используемую в обозначении каретки. Это практично, поскольку многие управляющие символы (например, EOT) нельзя вводить напрямую с клавиатуры. Хотя существует множество способов представления управляющих символов, это соответствие между нотацией и типизацией делает нотацию курсора подходящей для многих приложений.

Обычно необходимость зажать ⇧ Shift избегается, например, строчные буквы работают так же, как и прописные. На американской раскладке клавиатуры ctrl+/ производит DEL и ctrl+2 производит ^ @. Это также характерно для ctrl+Космос произвести ^ @.

Обозначение каретки используется для описания управляющих символов в выводе многими программами, особенно Unix драйверы терминалов и программы просмотра текстовых файлов, такие как более и меньше команды. Хотя использование управляющих кодов является в некоторой степени стандартным, некоторые способы использования отличаются от операционной системы к операционной системе или даже от программы к программе. Фактическое значение или интерпретация отдельных контрольных кодов нет предписывается нотацией каретки, и хотя спецификация ASCII действительно дает имена управляющим кодам, она не предписывает, как программное обеспечение должно реагировать на них.

Альтернативные обозначения

API обработки строк GSTrans на Желудь операционные системы для Атом, BBC Micro, Архимед и позже ОС RISC машины используют символ вертикальной черты | вместо каретки. Например, | M (произносится как «контроль em», то же, что и для ^ M обозначение) является возврат каретки персонаж, ASCII 13. || - это код символа вертикальной штриховки 124, |? это символ 127, как указано выше, и |! добавляет 128 к коду следующего за ним символа, поэтому |!|? код символа 128 + 127 = 255.

Смотрите также