Русская Википедия:Возврат каретки

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Возвра́т каре́тки — управляющий символ или механизм, используемый для возвращения позиции устройства к началу строки. Часто обозначается как CR (от Шаблон:Lang-en).

Происхождение термина

Файл:Typewriter Adler No. 7 (6).jpg

Каретка (от Шаблон:Lang-it — тележка) — узел машины или механизма, несущий ряд деталей и передвигающийся по направляющим или вращающийся в подшипниках. В пишущих машинках имела вид рамки с валиком для бумаги[1].

Пишущие машинки

Файл:Carriage return key of Consul typewriter.jpg

Первоначально термин «возврат каретки» относился к механизму или рычагу на пишущей машинке. Он использовался после ввода строки и заставлял узел, держащий бумагу (каретку), вернуться вправо, так что машинка была готова печатать дальше на левой стороне бумаги (предполагая письмо слева направо). Рычаг обыкновенно продвигал бумагу на следующую строку. Электрический возврат каретки впервые появился на электрических пишущих машинках фирмы «Electromatic» в 1929 году. Позже эту фирму поглотила IBM и стала выпускать эти машинки под своей маркой как «[[|en]] (англ.[2][3]. Клавиша, выполнявшая это действие, обыкновенно обозначалась «возврат каретки» (Шаблон:Lang-en) или «возврат» (Шаблон:Lang-en2). В других пишущих машинках, в том числе IBM Selectric, печатающая головка двигалась при печатании, а бумага оставалась неподвижной. В них эта клавиша возвращала влево печатающую головку и иногда называлась «возврат держателя» (Шаблон:Lang-en)Шаблон:Нет АИ.

Позже для обозначения этой клавиши был введён знак ↵ (U+21B5).

Телекоммуникация, компьютеры

Файл:Oxygen480-actions-key-enter.svg

Управляющий символ возврата каретки ведёт свою родословную от телетайпов. В 1901 году [[|en]] (Donald Murray (inventor)) изобрёл телетайп, оснащённый QWERTY-клавиатурой и способный печатать сообщение на бумажном листе. Для этого требовалось добавить в код Бодо дополнительные символы: LF (перевод строки, код 02) и CR (возврат каретки, код 08)[4].

Функции возврата каретки и перевода строки были разделены по двум причинам:

  • Сам по себе возврат каретки предоставлял возможность печати новой строки поверх имеющейся. Это могло быть использовано для получения полужирного шрифта, подчёркиваний, знаков под ударением, зачёркнутого текста и некоторых составных знаков. В дальнейшем, когда принтеры стали графическими, принтер мог вернуть каретку, а потом прокрутить бумагу на любое желаемое расстояние — в том числе ровно на высоту каретки или на пол-иголки (для качественной двухпроходной печати).
  • На частотах в десятки бод возврат каретки был самой длинной операцией, а буферизации, чтобы на это время приостановить печать, не былоШаблон:Нет АИ. Поэтому время, употреблённое на перевод строки, не было потрачено зря (нередко требовалось несколько дополнительных нажатий клавиши, прежде чем возврат каретки был произведён и можно было печатать дальше). Поэтому возврат каретки всегда производился первым, до перевода строки.

В ранних компьютерах для ввода информации использовались обычные телетайпы, однако в 1963 году специально для ввода и хранения данных компьютерами была разработана первая версия кодировки ASCII, в ней символы перевода строки и возврата каретки были перенесены на позиции Шаблон:0x и Шаблон:0x, и в последующих кодировках эти управляющие символы сохранились на тех же местах, в том числе в Юникоде.

Многие компьютерные программы используют для обозначения конца строки знак возврата каретки отдельно или вместе со знаком перевода строки, но для этой задачи используются и другие знаки; другие используют его только для разбиения абзаца. Некоторые стандарты, вводящие собственные обозначения для управления строками и абзацами (например, HTML), и многие языки программирования обрабатывают знаки возврата каретки и новой строки как пробел.

Для обозначения символа возврата каретки в некоторых программах, которые игнорируют его, если он введён напрямую, возможно использование эмуляции ввода управляющего символа с терминала^M ( Ctrl  +  M ). В Си и многих других языках программирования \r обозначает возврат каретки[5]. На ранних кириллических клавиатурах соответствующая клавиша маркировалась «ВК».

Как правило клавиша возврата каретки располагается в правой части клавиатуры и она отвечает как за возврат каретки, так и за перевод строки, а также за ввод команды. В терминалах могли использоваться раздельные клавиши для возврата каретки и перевода строки, а также специальный режим, который генерировал оба этих символа. На IBM PC-совместимых и современных USB HID-клавиатурах код нажатой клавиши не привязан напрямую к генерируемому при вводе символу, за перевод скан-кодов в коды символов отвечает операционная система, поэтому генерируемый по нажатии клавиши  ↵ Enter  символ или последовательность управляющих символом может быть разной в разных операционных системах. В Windows это традиционно LF+CR, в Unix-подобных системах — только LF. Отсутствие единого стандарта часто приводит к проблемам, когда приходится передавать файлы между разными операционными системами[6][7][8].

Примечания

Шаблон:Примечания

Шаблон:Клавиши клавиатуры

  1. Шаблон:Книга
  2. Remington and the Electromatic Шаблон:Wayback. Retrieved 2016-08-28
  3. The National Museum of American History: Electromatic Typewriter Шаблон:Wayback. Retrieved 2016-08-28
  4. New Zealand’s Donald Murray: The Father of the Remote Typewriter Шаблон:Wayback, Australian Typewriter Museum, Canberra, 9 March 2012; accessed 10 March 2012
  5. Eric S. Roberts. The Art and Science of C. — Addison-Wesley, 1995. — с. 311.Шаблон:Ref-en
  6. Шаблон:Cite web
  7. Шаблон:Cite web
  8. Шаблон:Cite web