В чем разница между «переводом строки» и «возвратом каретки»?

220

Если есть эти два ключевых слова, то они должны иметь свое собственное значение. Итак, я хочу знать, что отличает их и каков их код?

pheromix
источник
1
Взгляните на Википедию: en.wikipedia.org/wiki/Carriage_Return#Computers
exic
2
Посмотрите на эту статью, она безукоризненно очищает все digital.ni.com/public.nsf/allkb/…
Рохит Салуджа,

Ответы:

329

Перевод строки означает перемещение на одну строку вперед. Код есть \n.
А возврат каретки означает перемещение курсора в начало строки. Код есть \r.

Редакторы Windows часто все еще используют комбинацию обоих \r\nтекстовых файлов. Unix использует в основном только \n.

Разделение происходит от времени пишущей машинки, когда вы поворачивали колесо, чтобы переместить бумагу, чтобы изменить строку, и перемещали каретку, чтобы возобновить набор текста в начале строки. Это было два шага.

Цунами
источник
18
можно подумать, что даже старые пишущие машинки должны были подумать о том, чтобы заставить \ n представлять два шага.
ColacX
18
@ColacX Часто полезно выполнить возврат каретки без перевода строки, если требуется перезапись текста в текущей строке. Это касается как пишущих машинок, так и терминалов.
Дэн Бешард
2
Итак, в Windows правильная последовательность конца строки будет выглядеть \n\r?
Дельфино
18
@ Дельфино не совсем. На механических принтерах имело смысл начинать возврат каретки раньше, поскольку она медленнее, и питать линию, пока каретка все еще движется.
Мачей Стаховский
3
Не забывайте, что старые Маки использовали только \ r
Envite
34

Поскольку я не могу комментировать из-за нехватки наградных баллов, я должен ответить на правильный ответ, данный @Burhan Khalid.
На очень простом языке клавиша Enter - это сочетание возврата каретки и перевода строки.
Возврат каретки направляет курсор на начало строки по горизонтали, а перевод строки переводит курсор на следующую строку по вертикали. Комбинация обоих элементов дает эффект новой строки (\ n).
Ссылка - https://en.wikipedia.org/wiki/Carriage_return#Computers

Моналиса Дас
источник
Кроме того, стало разницей между разрывом строки и разрывом абзаца, когда компьютеры заменили пишущие машинки - обработка текста.
Густаво
9

Оба они являются первичными со старых печатных дней.

Возврат каретки происходит со времен телетайпных принтеров / старых пишущих машинок, где буквально каретка возвращалась на следующую строку и толкала бумагу вверх. Это то, что мы сейчас называем \r.

Перевод строки LFуказывает на конец строки, он сигнализирует о завершении строки, но не перемещает курсор на следующую строку . Другими словами, он не «возвращает» курсор / головку принтера на следующую строку.

Для более подробной информации, могучая Википедия на помощь.

Бурхан Халид
источник
11
Я полагаю, что возврат каретки относится к переходу к началу той же строки, а не к следующей. Под аналогией с пишущей машинкой понимается как перемещение вниз к следующей строке по вертикали (перевод строки), так и возврат к началу строки по горизонтали (возврат каретки). en.wikipedia.org/wiki/Carriage_return
Feckmore