Возврат каретки

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Происхождение термина[править | править вики-текст]

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

Пишущие машинки[править | править вики-текст]

Первоначально термин «возврат каретки» относился к механизму или рычагу на пишущей машинке. Он использовался после ввода строки и заставлял узел, держащий бумагу (каретку), вернуться вправо, так что машинка была готова печатать дальше на левой стороне бумаги (предполагая письмо слева направо). Рычаг обыкновенно продвигал бумагу на следующую строку. Электрический возврат каретки впервые появился на электрических пишущих машинках фирмы Smith Corona (англ.) в 1960 году. Клавиша, выполнявшая это действие, обыкновенно обозначалась «возврат каретки» (англ. carriage return) или «возврат» (return). В других пишущих машинках, в том числе Selectric (англ.), печатающая головка двигалась при печатании, а бумага оставалась неподвижной. В них эта клавиша возвращала влево печатающую головку и иногда называлась «возврат держателя» (англ. carrier return).

С целью улучшения для неанглоговорящих для обозначения этой клавиши был введён знак (U+21B5).

Компьютеры[править | править вики-текст]

В информатике и вычислительной технике возврат каретки — один из управляющих символов в ASCII, Юникоде, EBCDIC и многих других наборах символов (кодировках). Он приказывает устройству вывода (принтеру или монитору) передвинуть курсор на первую позицию той же самой строки. Он в основном используется вместе со зна́ком перевода строки (англ. line feed, LF; другое название newline), так что вместе они начинают новую строку. Эта последовательность может быть названа CRLF.

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

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

Уже в 1901 году код Бодо содержал отдельные знаки возврата каретки и новой строки.

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

В ASCII и Юникоде возврат каретки определён как 13 (или шестнадцатеричное 0D); он также может обозначаться как  Ctrl  +  M  или ^M. В Си и многих других языках программирования \r обозначает возврат каретки[2].

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Большая советская энциклопедия. — 3-е изд. — М.: «Советская энциклопедия», 1973. — Т. 11. — 608 с. — 629 000 экз.
  2. Eric S. Roberts. The Art and Science of C. — Addison-Wesley, 1995. — с. 311.  (англ.)