stringtranslate.com

Обозначение курсора

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

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

Значение или интерпретация отдельных контрольных кодов или реакция на них не предписываются обозначением курсора.

Описание

Обозначение состоит из каретки ( ^ ), за которой следует один символ (обычно заглавная буква). Символ имеет код ASCII, равный управляющему коду с перевернутым битом, представляющим 0x40. Полезная мнемоника, которая имеет эффект отображения управляющих кодов от 1 до 26 как ^A до ^Z . Семь управляющих символов ASCII отображаются за пределами алфавита верхнего регистра: 0 ( NUL ) — это ^@ , 27 ( ESC ) — это ^[ , 28 — это ^\ , 29 — это ^] , 30 — это ^^ , 31 — это ^_ , а 127 ( DEL ) — это ^? .

Примерами являются « ^M^J » для пары Windows CR, LF для новой строки и описание управляющей последовательности ANSI для очистки экрана как « ^[[3J ».

В нотации специально разрешено использование только символов в диапазоне 63–95 (" [email protected][\]^_ "), но использование строчных букв алфавита, вводимых с клавиатуры, разрешено почти всегда – они рассматриваются как эквиваленты заглавных букв. При преобразовании в управляющий символ, за исключением '?', маскирование с помощью 0x1F даст тот же результат, а также превратит строчные буквы в те же управляющие символы, что и заглавные.

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

История

Соглашение восходит как минимум к PDP-6 (1964). Руководство для PDP-6 описывает + как печать C, т. е. небольшой надстрочной стрелки вверх перед C. [1] При переходе с ASCII 1961 года на ASCII 1968 года стрелка вверх стала кареткой. [2]ControlC

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

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

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

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

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

API обработки строк GSTrans в операционных системах для Acorn Atom и BBC Micro , а также в RISC OS для Acorn Archimedes и более поздних машин использует символ вертикальной черты |вместо каретки. Например, |M(произносится как "контрол эм", то же самое, что и для ^Mобозначения) — это символ возврата каретки , ASCII 13. ||— это код символа вертикальной черты 124, |?это символ 127, как указано выше, и |!добавляет 128 к коду символа, который следует за ним, поэтому |!|?код символа 128 + 127 = 255 .

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

Ссылки

  1. ^ "PDP-6 Timesharing Software" (PDF) . Digital Equipment Corporation. стр. 4.
  2. ^ Хейнс, Джим (13.01.2015). "Из первых рук: Чад — наш самый важный продукт: воспоминания инженера о Teletype Corporation". История инженерии и технологий Wiki (ETHW). Архивировано из оригинала 31 октября 2016 г. Получено 31.10.2016 г. Произошел переход с ASCII 1961 г. на ASCII 1968 г. Некоторые компьютерные языки использовали символы в ASCII 1961 г., такие как стрелка вверх и стрелка влево. Эти символы исчезли из ASCII 1968 г. Мы работали с Фредом Мокингом, который к тому времени работал в отделе продаж в Teletype , над цилиндром набора, который бы компрометировал изменяющиеся символы, чтобы значения ASCII 1961 г. не были полностью утеряны. Символ подчеркивания был сделан довольно клиновидным, чтобы он также мог служить стрелкой влево.